[INFO] fetching crate aush 0.1.0...
[INFO] fixing aush-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate aush 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate aush 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate aush 0.1.0
[INFO] tweaked toml for crates.io crate aush 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate aush 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate aush 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 082a5417aa6dbe7f2de4fd7ec3df244a94b365763b1e0b7b357440c9128826e4
[INFO] running `Command { std: "docker" "start" "082a5417aa6dbe7f2de4fd7ec3df244a94b365763b1e0b7b357440c9128826e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "082a5417aa6dbe7f2de4fd7ec3df244a94b365763b1e0b7b357440c9128826e4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "082a5417aa6dbe7f2de4fd7ec3df244a94b365763b1e0b7b357440c9128826e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "082a5417aa6dbe7f2de4fd7ec3df244a94b365763b1e0b7b357440c9128826e4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling cc v1.2.53
[INFO] [stderr]    Compiling zmij v1.0.16
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.44
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking grep-matcher v0.1.8
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking ureq-proto v0.6.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking encoding_rs_io v0.1.7
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking utf8-zero v0.8.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking fuzzy-matcher v0.3.7
[INFO] [stderr]     Checking grep-searcher v0.1.16
[INFO] [stderr]     Checking ureq v3.3.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking ignore v0.4.25
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking mimalloc v0.1.48
[INFO] [stderr]     Checking logos v0.14.4
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking grep-regex v0.1.14
[INFO] [stderr]     Checking terminal_size v0.4.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking os_pipe v1.2.3
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking whoami v1.6.1
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking reedline v0.36.0
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking git2 v0.20.4
[INFO] [stderr]     Checking aush v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `aush`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs
[INFO] [stderr]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/macros/mod.rs
[INFO] [stderr]  ::: src/ai/agent.rs
[INFO] [stderr]  ::: src/builtins/eval.rs
[INFO] [stderr]  ::: src/builtins/json.rs
[INFO] [stderr]  ::: src/builtins/kill.rs
[INFO] [stderr]  ::: src/builtins/ls.rs
[INFO] [stderr]  ::: src/builtins/mod.rs
[INFO] [stderr]  ::: src/builtins/profile.rs
[INFO] [stderr]  ::: src/builtins/read.rs
[INFO] [stderr]  ::: src/builtins/rm.rs
[INFO] [stderr]  ::: src/builtins/tail.rs
[INFO] [stderr]  ::: src/builtins/time.rs
[INFO] [stderr]  ::: src/compat/analyzer.rs
[INFO] [stderr]  ::: src/completion/engine.rs
[INFO] [stderr]  ::: src/completion/mod.rs
[INFO] [stderr]  ::: src/correction/mod.rs
[INFO] [stderr]  ::: src/daemon/server.rs
[INFO] [stderr]  ::: src/daemon/worker_pool.rs
[INFO] [stderr]  ::: src/executor/commands.rs
[INFO] [stderr]  ::: src/executor/control_flow.rs
[INFO] [stderr]  ::: src/executor/mod.rs
[INFO] [stderr]  ::: src/executor/pipeline.rs
[INFO] [stderr]  ::: src/lexer/mod.rs
[INFO] [stderr]  ::: src/parser/mod.rs
[INFO] [stderr]  ::: src/run_api.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lexer/mod.rs:3:16
[INFO] [stderr]              |
[INFO] [stderr]            3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/lexer/mod.rs:4:3
[INFO] [stderr]              |
[INFO] [stderr]            4 | #[logos(skip r"[ \t]+|\\\r?\n")]
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            5 + #[derive(Logos)]
[INFO] [stderr]            6 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]             --> src/lexer/mod.rs:7:7
[INFO] [stderr]              |
[INFO] [stderr]            7 |     #[token("let")]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            5 + #[derive(Logos)]
[INFO] [stderr]            6 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:10:7
[INFO] [stderr]               |
[INFO] [stderr]            10 |     #[token("if")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token("else")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:16:7
[INFO] [stderr]               |
[INFO] [stderr]            16 |     #[token("then")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:19:7
[INFO] [stderr]               |
[INFO] [stderr]            19 |     #[token("elif")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:22:7
[INFO] [stderr]               |
[INFO] [stderr]            22 |     #[token("fi")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token("fn")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:28:7
[INFO] [stderr]               |
[INFO] [stderr]            28 |     #[token("match")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token("for")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("in")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("while")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("do")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("done")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("until")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("function")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token("case")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token("esac")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:59:7
[INFO] [stderr]               |
[INFO] [stderr]            59 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:62:7
[INFO] [stderr]               |
[INFO] [stderr]            62 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token(">=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:71:7
[INFO] [stderr]               |
[INFO] [stderr]            71 |     #[token("<=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:77:7
[INFO] [stderr]               |
[INFO] [stderr]            77 |     #[token("|||")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:80:7
[INFO] [stderr]               |
[INFO] [stderr]            80 |     #[token("|?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:83:7
[INFO] [stderr]               |
[INFO] [stderr]            83 |     #[token("|")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("&&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:89:7
[INFO] [stderr]               |
[INFO] [stderr]            89 |     #[token("&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("||")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:95:7
[INFO] [stderr]               |
[INFO] [stderr]            95 |     #[token("!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:101:7
[INFO] [stderr]                |
[INFO] [stderr]            101 |     #[token(")")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:104:7
[INFO] [stderr]                |
[INFO] [stderr]            104 |     #[token("{")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:107:7
[INFO] [stderr]                |
[INFO] [stderr]            107 |     #[token("}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("[[", priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:113:7
[INFO] [stderr]                |
[INFO] [stderr]            113 |     #[token("]]", priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:116:7
[INFO] [stderr]                |
[INFO] [stderr]            116 |     #[token("[", priority = 10)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:119:7
[INFO] [stderr]                |
[INFO] [stderr]            119 |     #[token("]", priority = 10)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:122:7
[INFO] [stderr]                |
[INFO] [stderr]            122 |     #[token(";;")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:125:7
[INFO] [stderr]                |
[INFO] [stderr]            125 |     #[token(";")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token(":")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:131:7
[INFO] [stderr]                |
[INFO] [stderr]            131 |     #[token(",")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:134:7
[INFO] [stderr]                |
[INFO] [stderr]            134 |     #[token(".")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:137:7
[INFO] [stderr]                |
[INFO] [stderr]            137 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:140:7
[INFO] [stderr]                |
[INFO] [stderr]            140 |     #[token("=>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[regex(r#"""#, parse_double_quoted_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:147:7
[INFO] [stderr]                |
[INFO] [stderr]            147 |     #[regex(r"'", parse_single_quoted_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:151:7
[INFO] [stderr]                |
[INFO] [stderr]            151 |     #[regex(r"\$'([^'\\]|\\.)*'", parse_ansi_c_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:155:7
[INFO] [stderr]                |
[INFO] [stderr]            155 |     #[regex(r"-?[0-9]+", priority = 3, callback = |lex| lex.slice().parse().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:158:7
[INFO] [stderr]                |
[INFO] [stderr]            158 |     #[regex(r"-?[0-9]+\.[0-9]+", priority = 4, callback = |lex| lex.slice().parse().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:163:7
[INFO] [stderr]                |
[INFO] [stderr]            163 |     #[regex(r"[a-zA-Z0-9_.\-/]*[*?][a-zA-Z0-9_.*?\-/\[\]]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:166:7
[INFO] [stderr]                |
[INFO] [stderr]            166 |     #[regex(r"[a-zA-Z0-9_.\-/]+\[[^\]]+\][a-zA-Z0-9_.*?\-/]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:173:7
[INFO] [stderr]                |
[INFO] [stderr]            173 |     #[token("-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:177:7
[INFO] [stderr]                |
[INFO] [stderr]            177 |     #[token("--")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:180:7
[INFO] [stderr]                |
[INFO] [stderr]            180 |     #[regex(r"-[a-zA-Z0-9]+", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:183:7
[INFO] [stderr]                |
[INFO] [stderr]            183 |     #[regex(r"--[a-zA-Z0-9][a-zA-Z0-9-]*(=[^\s|;&()<>]+)?", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:187:7
[INFO] [stderr]                |
[INFO] [stderr]            187 |     #[regex(r"\+[a-zA-Z0-9]+", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:190:7
[INFO] [stderr]                |
[INFO] [stderr]            190 |     #[regex(r">\([^)]*\)", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:193:7
[INFO] [stderr]                |
[INFO] [stderr]            193 |     #[regex(r"<[[:space:]]*<\([^)]*\)", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:194:7
[INFO] [stderr]                |
[INFO] [stderr]            194 |     #[regex(r"<\([^)]*\)", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:197:7
[INFO] [stderr]                |
[INFO] [stderr]            197 |     #[regex(r"<[[:space:]]+[^<(][^|;&()<>[:space:]]*", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:215:7
[INFO] [stderr]                |
[INFO] [stderr]            215 |     #[regex(r"[a-zA-Z0-9_@+%^][a-zA-Z0-9_.\-:~@/+%^,#]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:219:7
[INFO] [stderr]                |
[INFO] [stderr]            219 |     #[regex(r"\$\(", parse_command_substitution)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:223:7
[INFO] [stderr]                |
[INFO] [stderr]            223 |     #[regex(r"`", parse_backtick_substitution)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:228:7
[INFO] [stderr]                |
[INFO] [stderr]            228 |     #[regex(r"\$\{[^}\n]+\}", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:233:7
[INFO] [stderr]                |
[INFO] [stderr]            233 |     #[regex(r"\$[?!$#@*\-_0-9]", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:238:7
[INFO] [stderr]                |
[INFO] [stderr]            238 |     #[regex(r"\$[a-zA-Z][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:242:7
[INFO] [stderr]                |
[INFO] [stderr]            242 |     #[token("~")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:246:7
[INFO] [stderr]                |
[INFO] [stderr]            246 |     #[regex(r"[.~/][^\s|;&(){}]+", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:250:7
[INFO] [stderr]                |
[INFO] [stderr]            250 |     #[token(">>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:253:7
[INFO] [stderr]                |
[INFO] [stderr]            253 |     #[regex(r"[0-9]+>[&]-", |lex| lex.slice().to_string(), priority = 9)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:256:7
[INFO] [stderr]                |
[INFO] [stderr]            256 |     #[regex(r"[0-9]+<[&]-", |lex| lex.slice().to_string(), priority = 9)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:259:7
[INFO] [stderr]                |
[INFO] [stderr]            259 |     #[token(">&-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:262:7
[INFO] [stderr]                |
[INFO] [stderr]            262 |     #[token("<>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:265:7
[INFO] [stderr]                |
[INFO] [stderr]            265 |     #[regex(r"[0-9]*<&[0-9]+", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:268:7
[INFO] [stderr]                |
[INFO] [stderr]            268 |     #[regex(r"[0-9]+<", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:271:7
[INFO] [stderr]                |
[INFO] [stderr]            271 |     #[regex(r"[0-9]+>&[0-9]+", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:274:7
[INFO] [stderr]                |
[INFO] [stderr]            274 |     #[regex(r"[0-9]+>&", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:277:7
[INFO] [stderr]                |
[INFO] [stderr]            277 |     #[regex(r"[0-9]+>", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:280:7
[INFO] [stderr]                |
[INFO] [stderr]            280 |     #[token("2>&1", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:283:7
[INFO] [stderr]                |
[INFO] [stderr]            283 |     #[token("1>&2", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:284:7
[INFO] [stderr]                |
[INFO] [stderr]            284 |     #[token(">&2", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:287:7
[INFO] [stderr]                |
[INFO] [stderr]            287 |     #[regex(r">&[0-9]+", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:290:7
[INFO] [stderr]                |
[INFO] [stderr]            290 |     #[token("2>", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:293:7
[INFO] [stderr]                |
[INFO] [stderr]            293 |     #[token("&>>", priority = 9)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:296:7
[INFO] [stderr]                |
[INFO] [stderr]            296 |     #[token("&>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:297:7
[INFO] [stderr]                |
[INFO] [stderr]            297 |     #[token(">&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:300:7
[INFO] [stderr]                |
[INFO] [stderr]            300 |     #[token("&>>", priority = 1)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:304:7
[INFO] [stderr]                |
[INFO] [stderr]            304 |     #[token("<<-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:307:7
[INFO] [stderr]                |
[INFO] [stderr]            307 |     #[token("<<")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:310:7
[INFO] [stderr]                |
[INFO] [stderr]            310 |     #[token("<")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:322:7
[INFO] [stderr]                |
[INFO] [stderr]            322 |     #[regex(r"\n")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:325:7
[INFO] [stderr]                |
[INFO] [stderr]            325 |     #[token("\r\n")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:329:7
[INFO] [stderr]                |
[INFO] [stderr]            329 |     #[regex(r"#[^\n]*", logos::skip, priority = 50)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:390:41
[INFO] [stderr]                |
[INFO] [stderr]            390 | fn parse_single_quoted_string(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]                |                                         ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:409:34
[INFO] [stderr]                |
[INFO] [stderr]            409 | fn parse_ansi_c_string(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:526:41
[INFO] [stderr]                |
[INFO] [stderr]            526 | fn parse_double_quoted_string(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]                |                                         ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:608:41
[INFO] [stderr]                |
[INFO] [stderr]            608 | fn parse_command_substitution(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]                |                                         ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:657:42
[INFO] [stderr]                |
[INFO] [stderr]            657 | fn parse_backtick_substitution(lex: &mut logos::Lexer<Token>) -> Option<String> {
[INFO] [stderr]                |                                          ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:681:1
[INFO] [stderr]                |
[INFO] [stderr]            681 | pub struct Lexer<'a> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:14:5
[INFO] [stderr]               |
[INFO] [stderr]            14 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]              --> src/lexer/mod.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:685:10
[INFO] [stderr]                |
[INFO] [stderr]            685 | impl<'a> Lexer<'a> {
[INFO] [stderr]                |          ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:889:5
[INFO] [stderr]                |
[INFO] [stderr]            889 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied in `lexer::Lexer<'a>`
[INFO] [stderr]               --> src/lexer/mod.rs:886:23
[INFO] [stderr]                |
[INFO] [stderr]            886 | impl<'a> Iterator for Lexer<'a> {
[INFO] [stderr]                |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `lexer::Lexer<'a>`, the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'a>`
[INFO] [stderr]               --> src/lexer/mod.rs:681:12
[INFO] [stderr]                |
[INFO] [stderr]            681 | pub struct Lexer<'a> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]            note: required by a bound in `Iterator`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:686:35
[INFO] [stderr]                |
[INFO] [stderr]            686 |     pub fn new(input: &'a str) -> Self {
[INFO] [stderr]                |                                   ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:889:13
[INFO] [stderr]                |
[INFO] [stderr]            889 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/ai/agent.rs:347:9
[INFO] [stderr]                |
[INFO] [stderr]            347 |         crate::lexer::Lexer::tokenize(command).map_err(|e| anyhow!("Parse error: {}", e))?;
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/builtins/eval.rs:30:9
[INFO] [stderr]               |
[INFO] [stderr]            30 |         Lexer::tokenize(&command_string).map_err(|e| anyhow!("eval: tokenize error: {}", e))?;
[INFO] [stderr]               |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]              --> src/lexer/mod.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/builtins/profile.rs:50:9
[INFO] [stderr]               |
[INFO] [stderr]            50 |         Lexer::tokenize(&command_string).map_err(|e| anyhow!("profile: tokenize error: {}", e))?;
[INFO] [stderr]               |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]              --> src/lexer/mod.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/builtins/time.rs:106:9
[INFO] [stderr]                |
[INFO] [stderr]            106 |         Lexer::tokenize(&command_string).map_err(|e| anyhow!("time: tokenize error: {}", e))?;
[INFO] [stderr]                |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/builtins/time.rs:227:18
[INFO] [stderr]                |
[INFO] [stderr]            227 |     let tokens = Lexer::tokenize(command).map_err(|e| anyhow!("AUSH timing error: {}", e))?;
[INFO] [stderr]                |                  ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/builtins/mod.rs:739:15
[INFO] [stderr]                |
[INFO] [stderr]            739 |         match Lexer::tokenize(line) {
[INFO] [stderr]                |               ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/compat/analyzer.rs:68:28
[INFO] [stderr]               |
[INFO] [stderr]            68 |         let tokens = match Lexer::tokenize(script) {
[INFO] [stderr]               |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]              --> src/lexer/mod.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/daemon/server.rs:913:32
[INFO] [stderr]                |
[INFO] [stderr]            913 |             let tokens = match crate::lexer::Lexer::tokenize(command) {
[INFO] [stderr]                |                                ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/daemon/worker_pool.rs:194:32
[INFO] [stderr]                |
[INFO] [stderr]            194 |             let tokens = match crate::lexer::Lexer::tokenize(command) {
[INFO] [stderr]                |                                ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/executor/pipeline.rs:708:33
[INFO] [stderr]                |
[INFO] [stderr]            708 |             if let Ok(tokens) = Lexer::tokenize(command) {
[INFO] [stderr]                |                                 ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/executor/mod.rs:895:22
[INFO] [stderr]                |
[INFO] [stderr]            895 |         let tokens = Lexer::tokenize(cmd_str)
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:1684:22
[INFO] [stderr]                 |
[INFO] [stderr]            1684 |         let tokens = Lexer::tokenize(command)
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:1895:22
[INFO] [stderr]                 |
[INFO] [stderr]            1895 |         let tokens = Lexer::tokenize(&trap_command)
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:1966:22
[INFO] [stderr]                 |
[INFO] [stderr]            1966 |         let tokens = Lexer::tokenize(line)?;
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:2087:33
[INFO] [stderr]                 |
[INFO] [stderr]            2087 |             if let Ok(tokens) = crate::lexer::Lexer::tokenize(command) {
[INFO] [stderr]                 |                                 ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:2263:37
[INFO] [stderr]                 |
[INFO] [stderr]            2263 |                 if let Ok(tokens) = crate::lexer::Lexer::tokenize(command) {
[INFO] [stderr]                 |                                     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:2315:37
[INFO] [stderr]                 |
[INFO] [stderr]            2315 |                 if let Ok(tokens) = crate::lexer::Lexer::tokenize(command) {
[INFO] [stderr]                 |                                     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:2763:49
[INFO] [stderr]                 |
[INFO] [stderr]            2763 | ...                   if let Ok(tokens) = crate::lexer::Lexer::tokenize(&cmd_str) {
[INFO] [stderr]                 |                                           ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/executor/mod.rs:2965:22
[INFO] [stderr]                 |
[INFO] [stderr]            2965 |         let tokens = Lexer::tokenize(line).expect("tokenize failed");
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/run_api.rs:180:18
[INFO] [stderr]                |
[INFO] [stderr]            180 |     let tokens = Lexer::tokenize(command)?;
[INFO] [stderr]                |                  ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:391:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            391 |     let start = lex.span().start;
[INFO] [stderr]                |                     ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:392:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            392 |     let input = lex.source();
[INFO] [stderr]                |                     ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:393:23
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            393 |     let mut pos = lex.span().end; // position after opening '\''
[INFO] [stderr]                |                       ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:399:17
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            399 |             lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                 ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:399:32
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            399 |             lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                                ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:410:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            410 |     let slice = lex.slice();
[INFO] [stderr]                |                     ^^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:528:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            528 |     let start = lex.span().start; // points at the opening `"`
[INFO] [stderr]                |                     ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:529:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            529 |     let input = lex.source();
[INFO] [stderr]                |                     ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:530:23
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            530 |     let mut pos = lex.span().end; // position after the opening `"`
[INFO] [stderr]                |                       ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:539:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            539 |                 lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                     ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:539:36
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            539 |                 lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                                    ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:609:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            609 |     let start = lex.span().start;
[INFO] [stderr]                |                     ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:610:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            610 |     let input = lex.source();
[INFO] [stderr]                |                     ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:612:23
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            612 |     let mut pos = lex.span().end;
[INFO] [stderr]                |                       ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:649:13
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            649 |         lex.bump(pos - lex.span().end);
[INFO] [stderr]                |             ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:649:28
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            649 |         lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                            ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:658:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            658 |     let start = lex.span().start;
[INFO] [stderr]                |                     ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:659:21
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            659 |     let input = lex.source();
[INFO] [stderr]                |                     ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:660:23
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            660 |     let mut pos = lex.span().end;
[INFO] [stderr]                |                       ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:668:17
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            668 |             lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                 ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for mutable reference `&mut logos::Lexer<'_, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:668:32
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            668 |             lex.bump(pos - lex.span().end);
[INFO] [stderr]                |                                ^^^^ method cannot be called on `&mut logos::Lexer<'_, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:687:9
[INFO] [stderr]                |
[INFO] [stderr]            687 |         Self {
[INFO] [stderr]                |         ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `lexer::Token` in the current scope
[INFO] [stderr]               --> src/lexer/mod.rs:688:27
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            688 |             inner: Token::lexer(input),
[INFO] [stderr]                |                           ^^^^^ variant, associated function, or constant not found in `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied in `lexer::Lexer<'a>`
[INFO] [stderr]               --> src/lexer/mod.rs:687:9
[INFO] [stderr]                |
[INFO] [stderr]            687 | /         Self {
[INFO] [stderr]            688 | |             inner: Token::lexer(input),
[INFO] [stderr]            689 | |         }
[INFO] [stderr]                | |_________^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `lexer::Lexer<'a>`, the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'a>`
[INFO] [stderr]               --> src/lexer/mod.rs:681:12
[INFO] [stderr]                |
[INFO] [stderr]            681 | pub struct Lexer<'a> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]                = note: structs must have a statically known size to be initialized
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `lexer::Token` in the current scope
[INFO] [stderr]               --> src/lexer/mod.rs:695:32
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            695 |         let mut lexer = Token::lexer(&input);
[INFO] [stderr]                |                                ^^^^^ variant, associated function, or constant not found in `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `lexer::Token` in the current scope
[INFO] [stderr]               --> src/lexer/mod.rs:714:42
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            714 |             tokens.push(token_spans[i].0.clone());
[INFO] [stderr]                |                                          ^^^^^ method not found in `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:723:24
[INFO] [stderr]                |
[INFO] [stderr]            723 |                     && Self::is_word_component(&token_spans[i].0)
[INFO] [stderr]                |                        ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:724:24
[INFO] [stderr]                |
[INFO] [stderr]            724 |                     && Self::is_word_component(&token_spans[i + 1].0)
[INFO] [stderr]                |                        ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:732:22
[INFO] [stderr]                |
[INFO] [stderr]            732 |         let tokens = Self::resolve_heredocs(tokens, &input);
[INFO] [stderr]                |                      ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `lexer::Token` in the current scope
[INFO] [stderr]               --> src/lexer/mod.rs:771:39
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            771 |                 result.push(tokens[i].clone());
[INFO] [stderr]                |                                       ^^^^^ method not found in `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `logos::Lexer<'a, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:890:20
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            890 |         self.inner.next().map(|result| {
[INFO] [stderr]                |                    ^^^^ method cannot be called on `logos::Lexer<'a, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:1
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'a, lexer::Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]                        which is required by `logos::Lexer<'a, lexer::Token>: Iterator`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'a, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:892:38
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            892 |                 position: self.inner.span().start,
[INFO] [stderr]                |                                      ^^^^ method cannot be called on `logos::Lexer<'a, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for struct `logos::Lexer<'a, lexer::Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:893:34
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `lexer::Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            893 |                 text: self.inner.slice().to_string(),
[INFO] [stderr]                |                                  ^^^^^ method cannot be called on `logos::Lexer<'a, lexer::Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `lexer::Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:911:22
[INFO] [stderr]                |
[INFO] [stderr]            911 |         let tokens = Lexer::tokenize("ls -la /home").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:920:22
[INFO] [stderr]                |
[INFO] [stderr]            920 |         let tokens = Lexer::tokenize("ls | grep foo").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `lexer::Token` with `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:921:24
[INFO] [stderr]                |
[INFO] [stderr]            921 |         assert!(tokens.contains(&Token::Pipe));
[INFO] [stderr]                |                        ^^^^^^^^ no implementation for `lexer::Token == lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `lexer::Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:926:22
[INFO] [stderr]                |
[INFO] [stderr]            926 |         let tokens = Lexer::tokenize("echo $HOME").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:932:22
[INFO] [stderr]                |
[INFO] [stderr]            932 |         let tokens = Lexer::tokenize(r#"echo "hello world""#).unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:938:22
[INFO] [stderr]                |
[INFO] [stderr]            938 |         let tokens = Lexer::tokenize("let x = 42").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:939:9
[INFO] [stderr]                |
[INFO] [stderr]            939 |         assert_eq!(tokens[0], Token::Let);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |         |
[INFO] [stderr]                |         lexer::Token
[INFO] [stderr]                |         lexer::Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:939:9
[INFO] [stderr]                |
[INFO] [stderr]            939 |         assert_eq!(tokens[0], Token::Let);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:939:9
[INFO] [stderr]                |
[INFO] [stderr]            939 |         assert_eq!(tokens[0], Token::Let);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:941:9
[INFO] [stderr]                |
[INFO] [stderr]            941 |         assert_eq!(tokens[2], Token::Equals);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |         |
[INFO] [stderr]                |         lexer::Token
[INFO] [stderr]                |         lexer::Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:941:9
[INFO] [stderr]                |
[INFO] [stderr]            941 |         assert_eq!(tokens[2], Token::Equals);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:941:9
[INFO] [stderr]                |
[INFO] [stderr]            941 |         assert_eq!(tokens[2], Token::Equals);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:947:22
[INFO] [stderr]                |
[INFO] [stderr]            947 |         let tokens = Lexer::tokenize("fn deploy(env: String) {}").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:948:9
[INFO] [stderr]                |
[INFO] [stderr]            948 |         assert_eq!(tokens[0], Token::Fn);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |         |
[INFO] [stderr]                |         lexer::Token
[INFO] [stderr]                |         lexer::Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:948:9
[INFO] [stderr]                |
[INFO] [stderr]            948 |         assert_eq!(tokens[0], Token::Fn);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:948:9
[INFO] [stderr]                |
[INFO] [stderr]            948 |         assert_eq!(tokens[0], Token::Fn);
[INFO] [stderr]                |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:954:22
[INFO] [stderr]                |
[INFO] [stderr]            954 |         let tokens = Lexer::tokenize("echo $(pwd)").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:965:22
[INFO] [stderr]                |
[INFO] [stderr]            965 |         let tokens = Lexer::tokenize("echo $(echo $(pwd))").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:976:22
[INFO] [stderr]                |
[INFO] [stderr]            976 |         let tokens = Lexer::tokenize("echo `pwd`").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:987:22
[INFO] [stderr]                |
[INFO] [stderr]            987 |         let tokens = Lexer::tokenize("echo ${VAR}").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/lexer/mod.rs:992:63
[INFO] [stderr]                |
[INFO] [stderr]            992 |             panic!("Expected BracedVariable token, got {:?}", tokens[1]);
[INFO] [stderr]                |                                                        ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                |                                                        |
[INFO] [stderr]                |                                                        required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer/mod.rs:998:22
[INFO] [stderr]                |
[INFO] [stderr]            998 |         let tokens = Lexer::tokenize("echo ${VAR:-default}").unwrap();
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1003:63
[INFO] [stderr]                 |
[INFO] [stderr]            1003 |             panic!("Expected BracedVariable token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                        ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                        |
[INFO] [stderr]                 |                                                        required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1009:22
[INFO] [stderr]                 |
[INFO] [stderr]            1009 |         let tokens = Lexer::tokenize("echo ${VAR:=default}").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1014:63
[INFO] [stderr]                 |
[INFO] [stderr]            1014 |             panic!("Expected BracedVariable token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                        ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                        |
[INFO] [stderr]                 |                                                        required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1020:22
[INFO] [stderr]                 |
[INFO] [stderr]            1020 |         let tokens = Lexer::tokenize("echo ${VAR:?error}").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1025:63
[INFO] [stderr]                 |
[INFO] [stderr]            1025 |             panic!("Expected BracedVariable token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                        ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                        |
[INFO] [stderr]                 |                                                        required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1031:22
[INFO] [stderr]                 |
[INFO] [stderr]            1031 |         let tokens = Lexer::tokenize("echo ${VAR#prefix}").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1036:63
[INFO] [stderr]                 |
[INFO] [stderr]            1036 |             panic!("Expected BracedVariable token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                        ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                        |
[INFO] [stderr]                 |                                                        required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1042:22
[INFO] [stderr]                 |
[INFO] [stderr]            1042 |         let tokens = Lexer::tokenize("echo ${VAR%suffix}").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1047:63
[INFO] [stderr]                 |
[INFO] [stderr]            1047 |             panic!("Expected BracedVariable token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                        ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                        |
[INFO] [stderr]                 |                                                        required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1053:22
[INFO] [stderr]                 |
[INFO] [stderr]            1053 |         let tokens = Lexer::tokenize("$$").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1058:71
[INFO] [stderr]                 |
[INFO] [stderr]            1058 |             panic!("Expected SpecialVariable token for $$, got {:?}", tokens[0]);
[INFO] [stderr]                 |                                                                ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                                |
[INFO] [stderr]                 |                                                                required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1064:22
[INFO] [stderr]                 |
[INFO] [stderr]            1064 |         let tokens = Lexer::tokenize("$!").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1069:71
[INFO] [stderr]                 |
[INFO] [stderr]            1069 |             panic!("Expected SpecialVariable token for $!, got {:?}", tokens[0]);
[INFO] [stderr]                 |                                                                ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                                |
[INFO] [stderr]                 |                                                                required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1075:22
[INFO] [stderr]                 |
[INFO] [stderr]            1075 |         let tokens = Lexer::tokenize("$-").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1080:71
[INFO] [stderr]                 |
[INFO] [stderr]            1080 |             panic!("Expected SpecialVariable token for $-, got {:?}", tokens[0]);
[INFO] [stderr]                 |                                                                ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                                |
[INFO] [stderr]                 |                                                                required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1086:22
[INFO] [stderr]                 |
[INFO] [stderr]            1086 |         let tokens = Lexer::tokenize("$_").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1091:71
[INFO] [stderr]                 |
[INFO] [stderr]            1091 |             panic!("Expected SpecialVariable token for $_, got {:?}", tokens[0]);
[INFO] [stderr]                 |                                                                ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                                |
[INFO] [stderr]                 |                                                                required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1097:22
[INFO] [stderr]                 |
[INFO] [stderr]            1097 |         let tokens = Lexer::tokenize("while").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1099:9
[INFO] [stderr]                 |
[INFO] [stderr]            1099 |         assert_eq!(tokens[0], Token::While);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1099:9
[INFO] [stderr]                 |
[INFO] [stderr]            1099 |         assert_eq!(tokens[0], Token::While);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1099:9
[INFO] [stderr]                 |
[INFO] [stderr]            1099 |         assert_eq!(tokens[0], Token::While);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1104:22
[INFO] [stderr]                 |
[INFO] [stderr]            1104 |         let tokens = Lexer::tokenize("do").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1106:9
[INFO] [stderr]                 |
[INFO] [stderr]            1106 |         assert_eq!(tokens[0], Token::Do);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1106:9
[INFO] [stderr]                 |
[INFO] [stderr]            1106 |         assert_eq!(tokens[0], Token::Do);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1106:9
[INFO] [stderr]                 |
[INFO] [stderr]            1106 |         assert_eq!(tokens[0], Token::Do);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1111:22
[INFO] [stderr]                 |
[INFO] [stderr]            1111 |         let tokens = Lexer::tokenize("done").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1113:9
[INFO] [stderr]                 |
[INFO] [stderr]            1113 |         assert_eq!(tokens[0], Token::Done);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1113:9
[INFO] [stderr]                 |
[INFO] [stderr]            1113 |         assert_eq!(tokens[0], Token::Done);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1113:9
[INFO] [stderr]                 |
[INFO] [stderr]            1113 |         assert_eq!(tokens[0], Token::Done);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1118:22
[INFO] [stderr]                 |
[INFO] [stderr]            1118 |         let tokens = Lexer::tokenize("cat README.md").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1126:22
[INFO] [stderr]                 |
[INFO] [stderr]            1126 |         let tokens = Lexer::tokenize("echo file.tar.gz").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1133:22
[INFO] [stderr]                 |
[INFO] [stderr]            1133 |         let tokens = Lexer::tokenize("echo .").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1135:9
[INFO] [stderr]                 |
[INFO] [stderr]            1135 |         assert_eq!(tokens[1], Token::Dot);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1135:9
[INFO] [stderr]                 |
[INFO] [stderr]            1135 |         assert_eq!(tokens[1], Token::Dot);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1135:9
[INFO] [stderr]                 |
[INFO] [stderr]            1135 |         assert_eq!(tokens[1], Token::Dot);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1140:22
[INFO] [stderr]                 |
[INFO] [stderr]            1140 |         let tokens = Lexer::tokenize("echo ..").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1147:22
[INFO] [stderr]                 |
[INFO] [stderr]            1147 |         let tokens = Lexer::tokenize("./script.sh").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1154:22
[INFO] [stderr]                 |
[INFO] [stderr]            1154 |         let tokens = Lexer::tokenize("echo ~").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1156:9
[INFO] [stderr]                 |
[INFO] [stderr]            1156 |         assert_eq!(tokens[1], Token::Tilde);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1156:9
[INFO] [stderr]                 |
[INFO] [stderr]            1156 |         assert_eq!(tokens[1], Token::Tilde);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1156:9
[INFO] [stderr]                 |
[INFO] [stderr]            1156 |         assert_eq!(tokens[1], Token::Tilde);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1161:22
[INFO] [stderr]                 |
[INFO] [stderr]            1161 |         let tokens = Lexer::tokenize("cd ~/Documents").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1168:22
[INFO] [stderr]                 |
[INFO] [stderr]            1168 |         let tokens = Lexer::tokenize("echo ~root").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1175:22
[INFO] [stderr]                 |
[INFO] [stderr]            1175 |         let tokens = Lexer::tokenize("echo $((1+2))").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1180:68
[INFO] [stderr]                 |
[INFO] [stderr]            1180 |             panic!("Expected CommandSubstitution token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                             ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                             |
[INFO] [stderr]                 |                                                             required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1186:22
[INFO] [stderr]                 |
[INFO] [stderr]            1186 |         let tokens = Lexer::tokenize("echo $((5 != 3))").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1191:68
[INFO] [stderr]                 |
[INFO] [stderr]            1191 |             panic!("Expected CommandSubstitution token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                             ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                             |
[INFO] [stderr]                 |                                                             required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1198:22
[INFO] [stderr]                 |
[INFO] [stderr]            1198 |         let tokens = Lexer::tokenize(r#"echo "test\"end""#).unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1199:68
[INFO] [stderr]                 |
[INFO] [stderr]            1199 |         assert_eq!(tokens.len(), 2, "Expected 2 tokens, got {:?}", tokens);
[INFO] [stderr]                 |                                                             ----   ^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                             |
[INFO] [stderr]                 |                                                             required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1206:55
[INFO] [stderr]                 |
[INFO] [stderr]            1206 |             panic!("Expected String token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                |
[INFO] [stderr]                 |                                                required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1213:22
[INFO] [stderr]                 |
[INFO] [stderr]            1213 |         let tokens = Lexer::tokenize(r#"echo "test\"""#).unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1214:68
[INFO] [stderr]                 |
[INFO] [stderr]            1214 |         assert_eq!(tokens.len(), 2, "Expected 2 tokens, got {:?}", tokens);
[INFO] [stderr]                 |                                                             ----   ^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                             |
[INFO] [stderr]                 |                                                             required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1221:55
[INFO] [stderr]                 |
[INFO] [stderr]            1221 |             panic!("Expected String token, got {:?}", tokens[1]);
[INFO] [stderr]                 |                                                ----   ^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                |
[INFO] [stderr]                 |                                                required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1227:19
[INFO] [stderr]                 |
[INFO] [stderr]            1227 |         let err = Lexer::tokenize("echo \"unterminated").unwrap_err();
[INFO] [stderr]                 |                   ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1227:58
[INFO] [stderr]                 |
[INFO] [stderr]            1227 |         let err = Lexer::tokenize("echo \"unterminated").unwrap_err();
[INFO] [stderr]                 |                                                          ^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            note: required by a bound in `std::result::Result::<T, E>::unwrap_err`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/result.rs:1322:4
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1237:22
[INFO] [stderr]                 |
[INFO] [stderr]            1237 |         let tokens = Lexer::tokenize("echo hello |? \"summarize\"").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `lexer::Token` with `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1238:24
[INFO] [stderr]                 |
[INFO] [stderr]            1238 |         assert!(tokens.contains(&Token::PipeAsk));
[INFO] [stderr]                 |                        ^^^^^^^^ no implementation for `lexer::Token == lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `PartialEq` is not implemented for `lexer::Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1244:22
[INFO] [stderr]                 |
[INFO] [stderr]            1244 |         let tokens = Lexer::tokenize("echo 9a6c9c73-22be-4847-8e43-e8111b5b8836").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1253:22
[INFO] [stderr]                 |
[INFO] [stderr]            1253 |         let tokens = Lexer::tokenize("7z x archive.7z").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1259:22
[INFO] [stderr]                 |
[INFO] [stderr]            1259 |         let tokens = Lexer::tokenize("echo 42").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1265:22
[INFO] [stderr]                 |
[INFO] [stderr]            1265 |         let tokens = Lexer::tokenize("git diff |? \"write commit message\"").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1270:9
[INFO] [stderr]                 |
[INFO] [stderr]            1270 |         assert_eq!(tokens[2], Token::PipeAsk);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1270:9
[INFO] [stderr]                 |
[INFO] [stderr]            1270 |         assert_eq!(tokens[2], Token::PipeAsk);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1270:9
[INFO] [stderr]                 |
[INFO] [stderr]            1270 |         assert_eq!(tokens[2], Token::PipeAsk);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1276:22
[INFO] [stderr]                 |
[INFO] [stderr]            1276 |         let tokens = Lexer::tokenize("[ 1 -eq 1 ]").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1277:34
[INFO] [stderr]                 |
[INFO] [stderr]            1277 |         println!("tokens: {:?}", tokens);
[INFO] [stderr]                 |                           ----   ^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                           |
[INFO] [stderr]                 |                           required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:1278:9
[INFO] [stderr]                 |
[INFO] [stderr]            1278 |         assert_eq!(tokens[0], Token::LeftBracket);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |         |
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |         lexer::Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1278:9
[INFO] [stderr]                 |
[INFO] [stderr]            1278 |         assert_eq!(tokens[0], Token::LeftBracket);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1278:9
[INFO] [stderr]                 |
[INFO] [stderr]            1278 |         assert_eq!(tokens[0], Token::LeftBracket);
[INFO] [stderr]                 |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1283:22
[INFO] [stderr]                 |
[INFO] [stderr]            1283 |         let tokens = Lexer::tokenize("echo '\\\\'").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1290:22
[INFO] [stderr]                 |
[INFO] [stderr]            1290 |         let tokens = Lexer::tokenize("echo 'line1 \\\nline2'").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1297:22
[INFO] [stderr]                 |
[INFO] [stderr]            1297 |         let tokens = Lexer::tokenize("echo one \\\n two").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Vec<lexer::Token>`
[INFO] [stderr]                --> src/lexer/mod.rs:1298:9
[INFO] [stderr]                 |
[INFO] [stderr]            1298 | /         assert_eq!(
[INFO] [stderr]            1299 | |             tokens,
[INFO] [stderr]            1300 | |             vec![
[INFO] [stderr]            1301 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1305 | |         );
[INFO] [stderr]                 | |         ^
[INFO] [stderr]                 | |         |
[INFO] [stderr]                 | |_________Vec<lexer::Token>
[INFO] [stderr]                 |           Vec<lexer::Token>
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1298:9
[INFO] [stderr]                 |
[INFO] [stderr]            1298 | /         assert_eq!(
[INFO] [stderr]            1299 | |             tokens,
[INFO] [stderr]            1300 | |             vec![
[INFO] [stderr]            1301 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1305 | |         );
[INFO] [stderr]                 | |_________^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1298:9
[INFO] [stderr]                 |
[INFO] [stderr]            1298 | /         assert_eq!(
[INFO] [stderr]            1299 | |             tokens,
[INFO] [stderr]            1300 | |             vec![
[INFO] [stderr]            1301 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1305 | |         );
[INFO] [stderr]                 | |_________^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1310:22
[INFO] [stderr]                 |
[INFO] [stderr]            1310 |         let tokens = Lexer::tokenize("echo one \\\r\n two").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Vec<lexer::Token>`
[INFO] [stderr]                --> src/lexer/mod.rs:1311:9
[INFO] [stderr]                 |
[INFO] [stderr]            1311 | /         assert_eq!(
[INFO] [stderr]            1312 | |             tokens,
[INFO] [stderr]            1313 | |             vec![
[INFO] [stderr]            1314 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1318 | |         );
[INFO] [stderr]                 | |         ^
[INFO] [stderr]                 | |         |
[INFO] [stderr]                 | |_________Vec<lexer::Token>
[INFO] [stderr]                 |           Vec<lexer::Token>
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1311:9
[INFO] [stderr]                 |
[INFO] [stderr]            1311 | /         assert_eq!(
[INFO] [stderr]            1312 | |             tokens,
[INFO] [stderr]            1313 | |             vec![
[INFO] [stderr]            1314 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1318 | |         );
[INFO] [stderr]                 | |_________^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1311:9
[INFO] [stderr]                 |
[INFO] [stderr]            1311 | /         assert_eq!(
[INFO] [stderr]            1312 | |             tokens,
[INFO] [stderr]            1313 | |             vec![
[INFO] [stderr]            1314 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1318 | |         );
[INFO] [stderr]                 | |_________^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/lexer/mod.rs:1323:22
[INFO] [stderr]                 |
[INFO] [stderr]            1323 |         let tokens = Lexer::tokenize("echo ok # simple – unicode comment text").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Vec<lexer::Token>`
[INFO] [stderr]                --> src/lexer/mod.rs:1324:9
[INFO] [stderr]                 |
[INFO] [stderr]            1324 | /         assert_eq!(
[INFO] [stderr]            1325 | |             tokens,
[INFO] [stderr]            1326 | |             vec![
[INFO] [stderr]            1327 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1330 | |         );
[INFO] [stderr]                 | |         ^
[INFO] [stderr]                 | |         |
[INFO] [stderr]                 | |_________Vec<lexer::Token>
[INFO] [stderr]                 |           Vec<lexer::Token>
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1324:9
[INFO] [stderr]                 |
[INFO] [stderr]            1324 | /         assert_eq!(
[INFO] [stderr]            1325 | |             tokens,
[INFO] [stderr]            1326 | |             vec![
[INFO] [stderr]            1327 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1330 | |         );
[INFO] [stderr]                 | |_________^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/lexer/mod.rs:1324:9
[INFO] [stderr]                 |
[INFO] [stderr]            1324 | /         assert_eq!(
[INFO] [stderr]            1325 | |             tokens,
[INFO] [stderr]            1326 | |             vec![
[INFO] [stderr]            1327 | |                 Token::Identifier("echo".to_string()),
[INFO] [stderr]            ...    |
[INFO] [stderr]            1330 | |         );
[INFO] [stderr]                 | |_________^ the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/parser/mod.rs:771:17
[INFO] [stderr]                |
[INFO] [stderr]            770 |                 "where: expected comparison operator, got {:?}",
[INFO] [stderr]                |                                                           ---- required by this formatting parameter
[INFO] [stderr]            771 |                 other
[INFO] [stderr]                |                 ^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `std::option::Option<T>`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]                = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `std::option::Option<&lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/parser/mod.rs:799:69
[INFO] [stderr]                |
[INFO] [stderr]            799 |             other => Err(anyhow!("where: expected value, got {:?}", other)),
[INFO] [stderr]                |                                                              ----   ^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                |                                                              |
[INFO] [stderr]                |                                                              required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `std::option::Option<T>`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]                = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `std::option::Option<&lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]               --> src/parser/mod.rs:822:80
[INFO] [stderr]                |
[INFO] [stderr]            822 |             other => Err(anyhow!("{}: expected identifier, got {:?}", context, other)),
[INFO] [stderr]                |                                                                ----            ^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                |                                                                |
[INFO] [stderr]                |                                                                required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `std::option::Option<T>`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]                = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `std::option::Option<&lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Debug)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `std::option::Option<&lexer::Token>`
[INFO] [stderr]               --> src/parser/mod.rs:846:51
[INFO] [stderr]                |
[INFO] [stderr]            846 |             if self.tokens.get(self.position + 1) == Some(&Token::Equals) {
[INFO] [stderr]                |                ---------------------------------- ^^ -------------------- std::option::Option<&lexer::Token>
[INFO] [stderr]                |                |
[INFO] [stderr]                |                std::option::Option<&lexer::Token>
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `std::option::Option<&lexer::Token>`
[INFO] [stderr]               --> src/parser/mod.rs:934:59
[INFO] [stderr]                |
[INFO] [stderr]            934 |                     if self.tokens.get(self.position + 1) == Some(&Token::Equals) =>
[INFO] [stderr]                |                        ---------------------------------- ^^ -------------------- std::option::Option<&lexer::Token>
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        std::option::Option<&lexer::Token>
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `std::option::Option<&lexer::Token>`
[INFO] [stderr]               --> src/parser/mod.rs:955:28
[INFO] [stderr]                |
[INFO] [stderr]            955 |             if self.peek() != Some(&Token::Adjacent) {
[INFO] [stderr]                |                ----------- ^^ ---------------------- std::option::Option<&lexer::Token>
[INFO] [stderr]                |                |
[INFO] [stderr]                |                std::option::Option<&lexer::Token>
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/mod.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(PartialEq)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:1002:68
[INFO] [stderr]                 |
[INFO] [stderr]            1002 |             _ => return Err(anyhow!("Expected command name: {:?}", self.peek())),
[INFO] [stderr]                 |                                                             ----   ^^^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                             |
[INFO] [stderr]                 |                                                             required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `std::option::Option<T>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]                 = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                 = note: 1 redundant requirement hidden
[INFO] [stderr]                 = note: required for `std::option::Option<&lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Clone` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:1215:48
[INFO] [stderr]                 |
[INFO] [stderr]            1215 |                     let token = self.advance().cloned();
[INFO] [stderr]                 |                                                ^^^^^^ the trait `Clone` is not implemented for `lexer::Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `std::option::Option::<&T>::cloned`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:2159:4
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Clone)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `std::option::Option<&lexer::Token>`
[INFO] [stderr]                --> src/parser/mod.rs:1488:55
[INFO] [stderr]                 |
[INFO] [stderr]            1488 |                 && self.tokens.get(self.position + 1) == Some(&Token::LeftParen)
[INFO] [stderr]                 |                    ---------------------------------- ^^ ----------------------- std::option::Option<&lexer::Token>
[INFO] [stderr]                 |                    |
[INFO] [stderr]                 |                    std::option::Option<&lexer::Token>
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `std::option::Option<&lexer::Token>`
[INFO] [stderr]                --> src/parser/mod.rs:1489:55
[INFO] [stderr]                 |
[INFO] [stderr]            1489 |                 && self.tokens.get(self.position + 2) == Some(&Token::RightParen)
[INFO] [stderr]                 |                    ---------------------------------- ^^ ------------------------ std::option::Option<&lexer::Token>
[INFO] [stderr]                 |                    |
[INFO] [stderr]                 |                    std::option::Option<&lexer::Token>
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(PartialEq)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:2146:81
[INFO] [stderr]                 |
[INFO] [stderr]            2146 |                         return Err(anyhow!("Expected case pattern, found {:?}", self.peek()));
[INFO] [stderr]                 |                                                                          ----   ^^^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                                          |
[INFO] [stderr]                 |                                                                          required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `std::option::Option<T>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]                 = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                 = note: 1 redundant requirement hidden
[INFO] [stderr]                 = note: required for `std::option::Option<&lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:2157:69
[INFO] [stderr]                 |
[INFO] [stderr]            2157 |             return Err(anyhow!("Expected case pattern, found {:?}", self.peek()));
[INFO] [stderr]                 |                                                              ----   ^^^^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                                              |
[INFO] [stderr]                 |                                                              required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `std::option::Option<T>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]                 = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                 = note: 1 redundant requirement hidden
[INFO] [stderr]                 = note: required for `std::option::Option<&lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:2451:54
[INFO] [stderr]                 |
[INFO] [stderr]            2451 |             Err(anyhow!("Expected {:?}, found {:?}", expected, self.peek()))
[INFO] [stderr]                 |                                   ----               ^^^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                                   |
[INFO] [stderr]                 |                                   required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]                 = note: required for `&lexer::Token` to implement `std::fmt::Debug`
[INFO] [stderr]                 = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `anyhow` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2770:22
[INFO] [stderr]                 |
[INFO] [stderr]            2770 |         let tokens = Lexer::tokenize("ls -la").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2786:22
[INFO] [stderr]                 |
[INFO] [stderr]            2786 |         let tokens = Lexer::tokenize("ls | grep foo").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2801:22
[INFO] [stderr]                 |
[INFO] [stderr]            2801 |         let tokens = Lexer::tokenize("let x = 42").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2816:22
[INFO] [stderr]                 |
[INFO] [stderr]            2816 |         let tokens = Lexer::tokenize("while true; do echo hi; done").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:2817:34
[INFO] [stderr]                 |
[INFO] [stderr]            2817 |         println!("Tokens: {:?}", tokens);
[INFO] [stderr]                 |                           ----   ^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                           |
[INFO] [stderr]                 |                           required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2837:22
[INFO] [stderr]                 |
[INFO] [stderr]            2837 |         let tokens = Lexer::tokenize("if true; then echo yes; fi").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2855:22
[INFO] [stderr]                 |
[INFO] [stderr]            2855 |         let tokens = Lexer::tokenize("if false; then echo yes; else echo no; fi").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2873:22
[INFO] [stderr]                 |
[INFO] [stderr]            2873 |         let tokens = Lexer::tokenize("if false; then echo 1; elif true; then echo 2; fi").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2892:13
[INFO] [stderr]                 |
[INFO] [stderr]            2892 |             Lexer::tokenize("if false; then echo 1; elif false; then echo 2; else echo 3; fi")
[INFO] [stderr]                 |             ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2909:22
[INFO] [stderr]                 |
[INFO] [stderr]            2909 |         let tokens = Lexer::tokenize("if true; then if true; then echo nested; fi; fi").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2933:22
[INFO] [stderr]                 |
[INFO] [stderr]            2933 |         let tokens = Lexer::tokenize("FOO=bar").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2949:22
[INFO] [stderr]                 |
[INFO] [stderr]            2949 |         let tokens = Lexer::tokenize(r#"FOO="hello world""#).unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2965:22
[INFO] [stderr]                 |
[INFO] [stderr]            2965 |         let tokens = Lexer::tokenize("FOO=bar echo hello").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:2982:22
[INFO] [stderr]                 |
[INFO] [stderr]            2982 |         let tokens = Lexer::tokenize("export FOO=bar").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3003:22
[INFO] [stderr]                 |
[INFO] [stderr]            3003 |         let tokens = Lexer::tokenize("COUNT=42").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3019:22
[INFO] [stderr]                 |
[INFO] [stderr]            3019 |         let tokens = Lexer::tokenize("FOO=").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3035:22
[INFO] [stderr]                 |
[INFO] [stderr]            3035 |         let tokens = Lexer::tokenize("A=1 B=2 cmd").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3062:22
[INFO] [stderr]                 |
[INFO] [stderr]            3062 |         let tokens = Lexer::tokenize(code).unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:3063:34
[INFO] [stderr]                 |
[INFO] [stderr]            3063 |         println!("Tokens: {:?}", tokens);
[INFO] [stderr]                 |                           ----   ^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                           |
[INFO] [stderr]                 |                           required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3080:22
[INFO] [stderr]                 |
[INFO] [stderr]            3080 |         let tokens = Lexer::tokenize("for x in a b c; do echo $x; done").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3097:22
[INFO] [stderr]                 |
[INFO] [stderr]            3097 |         let tokens = Lexer::tokenize("for x; do echo $x; done").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3115:13
[INFO] [stderr]                 |
[INFO] [stderr]            3115 |             Lexer::tokenize("for i in 1 2; do for j in a b; do echo $i $j; done; done").unwrap();
[INFO] [stderr]                 |             ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3140:22
[INFO] [stderr]                 |
[INFO] [stderr]            3140 |         let tokens = Lexer::tokenize("foo() { echo hello; }").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3157:22
[INFO] [stderr]                 |
[INFO] [stderr]            3157 |         let tokens = Lexer::tokenize("foo() { echo hello; }; foo").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3168:22
[INFO] [stderr]                 |
[INFO] [stderr]            3168 |         let tokens = Lexer::tokenize("function bar { echo hi; }").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3185:22
[INFO] [stderr]                 |
[INFO] [stderr]            3185 |         let tokens = Lexer::tokenize("function baz() { echo hi; }").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3201:22
[INFO] [stderr]                 |
[INFO] [stderr]            3201 |         let tokens = Lexer::tokenize("f() { echo one; echo two; }").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3217:22
[INFO] [stderr]                 |
[INFO] [stderr]            3217 |         let tokens = Lexer::tokenize("case $x in foo) echo matched;; esac").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3234:22
[INFO] [stderr]                 |
[INFO] [stderr]            3234 |         let tokens = Lexer::tokenize("case $x in a|b) echo ab;; *) echo other;; esac").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3251:22
[INFO] [stderr]                 |
[INFO] [stderr]            3251 |         let tokens = Lexer::tokenize("x=foo; case $x in foo) echo matched;; esac").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3285:22
[INFO] [stderr]                 |
[INFO] [stderr]            3285 |         let tokens = Lexer::tokenize(input).unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `lexer::Token` doesn't implement `std::fmt::Debug`
[INFO] [stderr]                --> src/parser/mod.rs:3286:34
[INFO] [stderr]                 |
[INFO] [stderr]            3286 |         println!("Tokens: {:?}", tokens);
[INFO] [stderr]                 |                           ----   ^^^^^^ `lexer::Token` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stderr]                 |                           |
[INFO] [stderr]                 |                           required by this formatting parameter
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `std::fmt::Debug` is not implemented for `lexer::Token`
[INFO] [stderr]            help: the trait `std::fmt::Debug` is implemented for `Vec<T, A>`
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/mod.rs:4315:0
[INFO] [stderr]                 = note: required for `Vec<lexer::Token>` to implement `std::fmt::Debug`
[INFO] [stderr]            help: consider annotating `lexer::Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 + #[derive(Debug)]
[INFO] [stderr]               6 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3318:22
[INFO] [stderr]                 |
[INFO] [stderr]            3318 |         let tokens = Lexer::tokenize(r#"echo hello |? "summarize""#).unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3341:13
[INFO] [stderr]                 |
[INFO] [stderr]            3341 |             Lexer::tokenize(r#"cat file.txt | grep error |? "explain these errors""#).unwrap();
[INFO] [stderr]                 |             ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3365:22
[INFO] [stderr]                 |
[INFO] [stderr]            3365 |         let tokens = Lexer::tokenize("echo hello |?").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3380:22
[INFO] [stderr]                 |
[INFO] [stderr]            3380 |         let tokens = Lexer::tokenize("echo hello |? summarize").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `lexer::Token: Logos<'_>` is not satisfied
[INFO] [stderr]                --> src/parser/mod.rs:3395:22
[INFO] [stderr]                 |
[INFO] [stderr]            3395 |         let tokens = Lexer::tokenize("git diff |? 'write a commit message'").unwrap();
[INFO] [stderr]                 |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                 |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `lexer::Token`
[INFO] [stderr]                --> src/lexer/mod.rs:5:1
[INFO] [stderr]                 |
[INFO] [stderr]               5 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/json.rs:323:15
[INFO] [stderr]                |
[INFO] [stderr]            323 |         match navigate_path(&json_value, path) {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |               |
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            344 |             Err(e) => {
[INFO] [stderr]                |                 -
[INFO] [stderr]                |                 |
[INFO] [stderr]                |                 `e` calls a custom destructor
[INFO] [stderr]                |                 `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            349 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/kill.rs:232:23
[INFO] [stderr]                |
[INFO] [stderr]            232 |                 match parse_signal(arg) {
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |
[INFO] [stderr]                |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            238 |                     Err(e) => {
[INFO] [stderr]                |                         -
[INFO] [stderr]                |                         |
[INFO] [stderr]                |                         `e` calls a custom destructor
[INFO] [stderr]                |                         `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            247 |             }
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/ls.rs:76:19
[INFO] [stderr]                |
[INFO] [stderr]             76 |             match collect_entries(target, &flags) {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                   |
[INFO] [stderr]                |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]             77 |                 Ok(entries) => all_entries.extend(entries),
[INFO] [stderr]             78 |                 Err(e) => {
[INFO] [stderr]                |                     -
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     `e` calls a custom destructor
[INFO] [stderr]                |                     `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             83 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/ls.rs:100:19
[INFO] [stderr]                |
[INFO] [stderr]            100 |             match list_path(target, &flags) {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                   |
[INFO] [stderr]                |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            110 |                 Err(e) => {
[INFO] [stderr]                |                     -
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     `e` calls a custom destructor
[INFO] [stderr]                |                     `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            115 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/read.rs:341:11
[INFO] [stderr]                |
[INFO] [stderr]            331 |     let (tx, rx) = mpsc::channel();
[INFO] [stderr]                |              --
[INFO] [stderr]                |              |
[INFO] [stderr]                |              `rx` calls a custom destructor
[INFO] [stderr]                |              `rx` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            341 |     match rx.recv_timeout(timeout) {
[INFO] [stderr]                |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |           |
[INFO] [stderr]                |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            349 | }
[INFO] [stderr]                | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `rx` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/rm.rs:346:23
[INFO] [stderr]                |
[INFO] [stderr]            346 |                 match DeletionStats::calculate(path) {
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |
[INFO] [stderr]                |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            353 |                     Err(e) => {
[INFO] [stderr]                |                         -
[INFO] [stderr]                |                         |
[INFO] [stderr]                |                         `e` calls a custom destructor
[INFO] [stderr]                |                         `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            359 |             } else {
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/rm.rs:416:21
[INFO] [stderr]                |
[INFO] [stderr]            415 |                 if let Err(e) =
[INFO] [stderr]                |                            -
[INFO] [stderr]                |                            |
[INFO] [stderr]                |                            `e` calls a custom destructor
[INFO] [stderr]                |                            `e` will be dropped later as of Edition 2024
[INFO] [stderr]            416 |                     remove_dir_recursive(path, runtime, opts.verbose, &mut stdout_output)
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stderr]                |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            421 |             } else if opts.dir {
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]            422 |                 // Remove empty directory only
[INFO] [stderr]            423 |                 if let Err(e) = remove_empty_dir(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stderr]                |                            -
[INFO] [stderr]                |                            |
[INFO] [stderr]                |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                            `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            436 |             if let Err(e) = remove_file(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stderr]                |                        -
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                        `#2` will be dropped later as of Edition 2024
[INFO] [stderr]                |
[INFO] [stderr]            note: `#3` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ai/wizard.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     std::env::set_var("AUSH_AI_PROVIDER", config.provider.to_string());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout]     = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 334 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 335 ~     unsafe { std::env::set_var("AUSH_AI_PROVIDER", config.provider.to_string()) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ai/wizard.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     std::env::set_var("AUSH_AI_MODEL", &config.model);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 335 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 336 ~     unsafe { std::env::set_var("AUSH_AI_MODEL", &config.model) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ai/wizard.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     std::env::set_var("AUSH_AI_PROVIDER", config.provider.to_string());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 336 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 337 ~     unsafe { std::env::set_var("AUSH_AI_PROVIDER", config.provider.to_string()) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ai/wizard.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     std::env::set_var("AUSH_AI_MODEL", &config.model);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 337 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 338 ~     unsafe { std::env::set_var("AUSH_AI_MODEL", &config.model) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ai/wizard.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         std::env::set_var("AUSH_AI_API_KEY", key);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 339 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 340 ~         unsafe { std::env::set_var("AUSH_AI_API_KEY", key) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ai/wizard.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |         std::env::set_var("AUSH_AI_API_KEY", key);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 340 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 341 ~         unsafe { std::env::set_var("AUSH_AI_API_KEY", key) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/banner/mod.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 |     env::set_var("AUSH_LEVEL", &next_level);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 269 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 270 ~     unsafe { env::set_var("AUSH_LEVEL", &next_level) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/banner/mod.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 |     env::set_var("AUSH_LEVEL", next_level);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 270 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 271 ~     unsafe { env::set_var("AUSH_LEVEL", next_level) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/json.rs:323:15
[INFO] [stdout]     |
[INFO] [stdout] 323 |         match navigate_path(&json_value, path) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 344 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/kill.rs:232:23
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 match parse_signal(arg) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 247 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/ls.rs:76:19
[INFO] [stdout]     |
[INFO] [stdout]  76 |             match collect_entries(target, &flags) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  77 |                 Ok(entries) => all_entries.extend(entries),
[INFO] [stdout]  78 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/ls.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |             match list_path(target, &flags) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 110 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/read.rs:341:11
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let (tx, rx) = mpsc::channel();
[INFO] [stdout]     |              --
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `rx` calls a custom destructor
[INFO] [stdout]     |              `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |     match rx.recv_timeout(timeout) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/rm.rs:346:23
[INFO] [stdout]     |
[INFO] [stdout] 346 |                 match DeletionStats::calculate(path) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 359 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/rm.rs:416:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 if let Err(e) =
[INFO] [stdout]     |                            -
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `e` calls a custom destructor
[INFO] [stdout]     |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 416 |                     remove_dir_recursive(path, runtime, opts.verbose, &mut stdout_output)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 421 |             } else if opts.dir {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 422 |                 // Remove empty directory only
[INFO] [stdout] 423 |                 if let Err(e) = remove_empty_dir(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout]     |                            -
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 436 |             if let Err(e) = remove_file(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout]     |                        -
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/rm.rs:423:33
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 if let Err(e) =
[INFO] [stdout]     |                            -
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `e` calls a custom destructor
[INFO] [stdout]     |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                 if let Err(e) = remove_empty_dir(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout]     |                            -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |    |
[INFO] [stdout]     |                            |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 436 |             if let Err(e) = remove_file(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout]     |                        -
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/rm.rs:436:29
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 if let Err(e) =
[INFO] [stdout]     |                            -
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `e` calls a custom destructor
[INFO] [stdout]     |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                 if let Err(e) = remove_empty_dir(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout]     |                            -
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 436 |             if let Err(e) = remove_file(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/tail.rs:232:37
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/tail.rs:230:19
[INFO] [stdout]     |
[INFO] [stdout] 230 |             match File::open(file_path) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 231 |                 Ok(file) => {
[INFO] [stdout] 232 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stdout]     |                                -
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/tail.rs:290:37
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 294 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/tail.rs:288:19
[INFO] [stdout]     |
[INFO] [stdout] 288 |             match File::open(file_path) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 289 |                 Ok(file) => {
[INFO] [stdout] 290 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stdout]     |                                -
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/time.rs:238:11
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let mut executor = Executor::new_embedded();
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `executor` calls a custom destructor
[INFO] [stdout]     |         `executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |     match executor.execute(statements) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/builtins/mod.rs:749:31
[INFO] [stdout]     |
[INFO] [stdout] 745 |                         let mut executor = Executor::new();
[INFO] [stdout]     |                             ------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `executor` calls a custom destructor
[INFO] [stdout]     |                             `executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 749 |                         match executor.execute(statements) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 778 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/completion/engine.rs:122:38
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 if let Ok(entries) = fs::read_dir(path) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 123 |                     for entry in entries.flatten() {
[INFO] [stdout]     |                         -----    -----------------
[INFO] [stdout]     |                         |        |
[INFO] [stdout]     |                         |        `iter` calls a custom destructor
[INFO] [stdout]     |                         |        `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `entry` calls a custom destructor
[INFO] [stdout]     |                         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/builtins/rm.rs:423:33
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/completion/mod.rs:283:27
[INFO] [stdout]      |
[INFO] [stdout]  280 |         let runtime = self.runtime.read().unwrap();
[INFO] [stdout]      |             -------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `runtime` calls a custom destructor
[INFO] [stdout]      |             `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |         if let Ok(repo) = git2::Repository::discover(cwd) {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  298 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/git2-0.20.4/src/repo.rs:3382:1
[INFO] [stdout]      |
[INFO] [stdout] 3382 | impl Drop for Repository {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/correction/mod.rs:196:42
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     if let Ok(entries) = fs::read_dir(path_dir) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 197 |                         for entry in entries.flatten() {
[INFO] [stdout]     |                             -----    -----------------
[INFO] [stdout]     |                             |        |
[INFO] [stdout]     |                             |        `iter` calls a custom destructor
[INFO] [stdout]     |                             |        `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `entry` calls a custom destructor
[INFO] [stdout]     |                             `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 212 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            415 |                 if let Err(e) =
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:827:9
[INFO] [stdout]     |
[INFO] [stdout] 827 |         env::set_var("AUSH_SUGGEST_THRESHOLD", "50");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 827 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 828 ~         unsafe { env::set_var("AUSH_SUGGEST_THRESHOLD", "50") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            -
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:832:9
[INFO] [stdout]     |
[INFO] [stdout] 832 |         env::set_var("AUSH_SUGGEST_THRESHOLD", "200");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 832 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 833 ~         unsafe { env::set_var("AUSH_SUGGEST_THRESHOLD", "200") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:837:9
[INFO] [stdout]     |
[INFO] [stdout] 837 |         env::set_var("AUSH_SUGGEST_THRESHOLD", "-10");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 837 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 838 ~         unsafe { env::set_var("AUSH_SUGGEST_THRESHOLD", "-10") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            `e` calls a custom destructor
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:843:26
[INFO] [stdout]     |
[INFO] [stdout] 843 |             Some(val) => env::set_var("AUSH_SUGGEST_THRESHOLD", val),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 843 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 844 ~             Some(val) => unsafe { env::set_var("AUSH_SUGGEST_THRESHOLD", val) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:844:21
[INFO] [stdout]     |
[INFO] [stdout] 844 |             None => env::remove_var("AUSH_SUGGEST_THRESHOLD"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 844 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 845 ~             None => unsafe { env::remove_var("AUSH_SUGGEST_THRESHOLD") },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:853:9
[INFO] [stdout]     |
[INFO] [stdout] 853 |         env::set_var("AUSH_SUGGEST_ENABLED", "0");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 853 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 854 ~         unsafe { env::set_var("AUSH_SUGGEST_ENABLED", "0") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            423 |                 if let Err(e) = remove_empty_dir(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:857:9
[INFO] [stdout]     |
[INFO] [stdout] 857 |         env::set_var("AUSH_SUGGEST_ENABLED", "false");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 857 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 858 ~         unsafe { env::set_var("AUSH_SUGGEST_ENABLED", "false") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:861:9
[INFO] [stdout]     |
[INFO] [stdout] 861 |         env::set_var("AUSH_SUGGEST_ENABLED", "no");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 861 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 862 ~         unsafe { env::set_var("AUSH_SUGGEST_ENABLED", "no") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            |    |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:866:9
[INFO] [stdout]     |
[INFO] [stdout] 866 |         env::set_var("AUSH_SUGGEST_ENABLED", "1");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 866 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 867 ~         unsafe { env::set_var("AUSH_SUGGEST_ENABLED", "1") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:872:26
[INFO] [stdout]     |
[INFO] [stdout] 872 |             Some(val) => env::set_var("AUSH_SUGGEST_ENABLED", val),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 872 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 873 ~             Some(val) => unsafe { env::set_var("AUSH_SUGGEST_ENABLED", val) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:873:21
[INFO] [stdout]     |
[INFO] [stdout] 873 |             None => env::remove_var("AUSH_SUGGEST_ENABLED"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 873 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 874 ~             None => unsafe { env::remove_var("AUSH_SUGGEST_ENABLED") },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 881 |         env::set_var("AUSH_SUGGEST_MAX", "10");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 881 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 882 ~         unsafe { env::set_var("AUSH_SUGGEST_MAX", "10") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:886:9
[INFO] [stdout]     |
[INFO] [stdout] 886 |         env::set_var("AUSH_SUGGEST_MAX", "0");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 886 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 887 ~         unsafe { env::set_var("AUSH_SUGGEST_MAX", "0") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:892:26
[INFO] [stdout]     |
[INFO] [stdout] 892 |             Some(val) => env::set_var("AUSH_SUGGEST_MAX", val),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 892 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 893 ~             Some(val) => unsafe { env::set_var("AUSH_SUGGEST_MAX", val) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            427 |             } else {
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:893:21
[INFO] [stdout]     |
[INFO] [stdout] 893 |             None => env::remove_var("AUSH_SUGGEST_MAX"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 893 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 894 ~             None => unsafe { env::remove_var("AUSH_SUGGEST_MAX") },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:903:9
[INFO] [stdout]     |
[INFO] [stdout] 903 |         env::set_var("AUSH_SUGGEST_HISTORY", "off");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 903 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 904 ~         unsafe { env::set_var("AUSH_SUGGEST_HISTORY", "off") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |         env::set_var("AUSH_SUGGEST_CONTEXT", "false");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 904 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 905 ~         unsafe { env::set_var("AUSH_SUGGEST_CONTEXT", "false") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            436 |             if let Err(e) = remove_file(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:910:9
[INFO] [stdout]     |
[INFO] [stdout] 910 |         env::set_var("AUSH_SUGGEST_HISTORY", "yes");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 910 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 911 ~         unsafe { env::set_var("AUSH_SUGGEST_HISTORY", "yes") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        -
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:911:9
[INFO] [stdout]     |
[INFO] [stdout] 911 |         env::set_var("AUSH_SUGGEST_CONTEXT", "1");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 911 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 912 ~         unsafe { env::set_var("AUSH_SUGGEST_CONTEXT", "1") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:918:26
[INFO] [stdout]     |
[INFO] [stdout] 918 |             Some(val) => env::set_var("AUSH_SUGGEST_HISTORY", val),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 918 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 919 ~             Some(val) => unsafe { env::set_var("AUSH_SUGGEST_HISTORY", val) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:919:21
[INFO] [stdout]     |
[INFO] [stdout] 919 |             None => env::remove_var("AUSH_SUGGEST_HISTORY"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 919 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 920 ~             None => unsafe { env::remove_var("AUSH_SUGGEST_HISTORY") },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:922:26
[INFO] [stdout]     |
[INFO] [stdout] 922 |             Some(val) => env::set_var("AUSH_SUGGEST_CONTEXT", val),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 922 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 923 ~             Some(val) => unsafe { env::set_var("AUSH_SUGGEST_CONTEXT", val) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/correction/mod.rs:923:21
[INFO] [stdout]     |
[INFO] [stdout] 923 |             None => env::remove_var("AUSH_SUGGEST_CONTEXT"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 923 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 924 ~             None => unsafe { env::remove_var("AUSH_SUGGEST_CONTEXT") },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#3` invokes this custom destructor
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/daemon/server.rs:308:17
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 std::env::remove_var(key);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 308 +                 // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 309 ~                 unsafe { std::env::remove_var(key) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/daemon/server.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             std::env::set_var(key, value);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 314 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 315 ~             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/daemon/server.rs:591:41
[INFO] [stdout]     |
[INFO] [stdout] 578 |                     Ok((stream, _addr)) => {
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `stream` calls a custom destructor
[INFO] [stdout]     |                         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 586 |                                 Self::send_error(&stream, "Maximum concurrent sessions reached", 0);
[INFO] [stdout]     |                                 -------------------------------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 591 |                         if let Err(e) = self.accept_connection(stream) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 594 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/daemon/server.rs:577:23
[INFO] [stdout]     |
[INFO] [stdout] 577 |                 match listener.accept() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 578 |                     Ok((stream, _addr)) => {
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `stream` calls a custom destructor
[INFO] [stdout]     |                         `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 586 |                                 Self::send_error(&stream, "Maximum concurrent sessions reached", 0);
[INFO] [stdout]     |                                 -------------------------------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 591 |                         if let Err(e) = self.accept_connection(stream) {
[INFO] [stdout]     |                                    -
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 607 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/daemon/server.rs:896:13
[INFO] [stdout]     |
[INFO] [stdout] 896 |             std::env::set_var(key, value);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 896 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 897 ~             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/daemon/server.rs:924:19
[INFO] [stdout]     |
[INFO] [stdout] 907 |             let mut executor = crate::executor::Executor::new_embedded();
[INFO] [stdout]     |                 ------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `executor` calls a custom destructor
[INFO] [stdout]     |                 `executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 924 |             match parser.parse() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 947 |         } else {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/daemon/server.rs:1108:29
[INFO] [stdout]      |
[INFO] [stdout] 1108 |             if let Err(e) = self.check_worker_health(session_id) {
[INFO] [stdout]      |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                        |    |
[INFO] [stdout]      |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `e` calls a custom destructor
[INFO] [stdout]      |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1111 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/daemon/worker_pool.rs:113:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |                     if let Err(e) = executor.reset() {
[INFO] [stdout]     |                                -    ----------------
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 113 |                     match Self::execute_session_with_executor(&init, &mut executor) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 155 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/daemon/worker_pool.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |             std::env::set_var(key, value);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 185 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 186 ~             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/daemon/worker_pool.rs:307:19
[INFO] [stdout]     |
[INFO] [stdout] 307 |             match Worker::spawn() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/error.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 |         std::env::remove_var("AUSH_ERROR_FORMAT");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 244 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 245 ~         unsafe { std::env::remove_var("AUSH_ERROR_FORMAT") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/error.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         std::env::set_var("AUSH_ERROR_FORMAT", "json");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 248 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 249 ~         unsafe { std::env::set_var("AUSH_ERROR_FORMAT", "json") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/error.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |         std::env::set_var("AUSH_ERROR_FORMAT", "JSON");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 252 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 253 ~         unsafe { std::env::set_var("AUSH_ERROR_FORMAT", "JSON") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/error.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |         std::env::set_var("AUSH_ERROR_FORMAT", "text");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 256 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 257 ~         unsafe { std::env::set_var("AUSH_ERROR_FORMAT", "text") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/error.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         std::env::remove_var("AUSH_ERROR_FORMAT");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 260 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 261 ~         unsafe { std::env::remove_var("AUSH_ERROR_FORMAT") };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/executor/commands.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |                     std::env::remove_var(key);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 644 +                     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 645 ~                     unsafe { std::env::remove_var(key) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/commands.rs:1103:19
[INFO] [stdout]      |
[INFO] [stdout] 1103 |             match self.execute_statement(statement) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1109 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1125 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor/control_flow.rs:161:19
[INFO] [stdout]     |
[INFO] [stdout] 161 |               match self.execute_statement(statement.clone()) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                       return match handle_loop_signal(
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 169 | |                         e,
[INFO] [stdout] 170 | |                         accumulated_stdout,
[INFO] [stdout] 171 | |                         accumulated_stderr,
[INFO] [stdout] 172 | |                         *last_exit_code,
[INFO] [stdout] 173 | |                     ) {
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor/pipeline.rs:335:11
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let mut child_executor = Executor {
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `child_executor` calls a custom destructor
[INFO] [stdout]     |         `child_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 335 |     match child_executor.execute(vec![statement.clone()]) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child_executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child_executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor/pipeline.rs:390:11
[INFO] [stdout]     |
[INFO] [stdout] 376 |     let mut child_executor = Executor {
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `child_executor` calls a custom destructor
[INFO] [stdout]     |         `child_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 390 |     match child_executor.execute(statements.to_vec()) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 404 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child_executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child_executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor/pipeline.rs:723:41
[INFO] [stdout]     |
[INFO] [stdout] 711 |                     let mut sub_executor = Executor {
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `sub_executor` calls a custom destructor
[INFO] [stdout]     |                         `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 723 |                     if let Ok(result) = sub_executor.execute(statements) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 726 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:1018:19
[INFO] [stdout]      |
[INFO] [stdout] 1017 |         for handle in handles {
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 1018 |             match handle.join() {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1024 |                 Ok(Err(e)) => {
[INFO] [stdout]      |                        -
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        `e` calls a custom destructor
[INFO] [stdout]      |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1033 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:1555:31
[INFO] [stdout]      |
[INFO] [stdout] 1546 |             let resolved = self.resolve_argument(arg)?;
[INFO] [stdout]      |                            ---------------------------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1555 |                         match glob_expansion::expand_globs(field, self.runtime.get_cwd()) {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1564 |                     } else {
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:1572:27
[INFO] [stdout]      |
[INFO] [stdout] 1546 |             let resolved = self.resolve_argument(arg)?;
[INFO] [stdout]      |                            ---------------------------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1572 |                     match glob_expansion::expand_globs(&resolved, self.runtime.get_cwd()) {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1581 |                 } else {
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:2102:46
[INFO] [stdout]      |
[INFO] [stdout] 2090 |                     let mut sub_executor = Executor {
[INFO] [stdout]      |                         ----------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `sub_executor` calls a custom destructor
[INFO] [stdout]      |                         `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2102 |                     if let Ok(exec_result) = sub_executor.execute(statements) {
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2117 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:2255:40
[INFO] [stdout]      |
[INFO] [stdout] 2255 |                     if let Ok(value) = arithmetic::evaluate(expr, runtime) {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2260 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 2266 |                         let mut sub_executor = Executor {
[INFO] [stdout]      |                             ----------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `sub_executor` calls a custom destructor
[INFO] [stdout]      |                             `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2318 |                         let mut sub_executor = Executor {
[INFO] [stdout]      |                             ----------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/builtins/rm.rs:436:29
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:2278:50
[INFO] [stdout]      |
[INFO] [stdout] 2266 |                         let mut sub_executor = Executor {
[INFO] [stdout]      |                             ----------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `sub_executor` calls a custom destructor
[INFO] [stdout]      |                             `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2278 |                         if let Ok(exec_result) = sub_executor.execute(statements) {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2292 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:2330:50
[INFO] [stdout]      |
[INFO] [stdout] 2318 |                         let mut sub_executor = Executor {
[INFO] [stdout]      |                             ----------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `sub_executor` calls a custom destructor
[INFO] [stdout]      |                             `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2330 |                         if let Ok(exec_result) = sub_executor.execute(statements) {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2344 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            415 |                 if let Err(e) =
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:2756:50
[INFO] [stdout]      |
[INFO] [stdout] 2756 | ...                       if let Ok(val) = crate::arithmetic::evaluate(expr, runtime) {
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2761 | ...                   }
[INFO] [stdout]      |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 2766 | ...                           let mut sub_executor = Executor {
[INFO] [stdout]      |                                   ----------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   `sub_executor` calls a custom destructor
[INFO] [stdout]      |                                   `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            -
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor/mod.rs:2778:62
[INFO] [stdout]      |
[INFO] [stdout] 2766 | ...                       let mut sub_executor = Executor {
[INFO] [stdout]      |                               ----------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `sub_executor` calls a custom destructor
[INFO] [stdout]      |                               `sub_executor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2778 | ...                       if let Ok(exec_result) = sub_executor.execute(statements) {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2792 | ...                   }
[INFO] [stdout]      |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sub_executor` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stdout]      |
[INFO] [stdout]  137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            |
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/executor/mod.rs:3471:9
[INFO] [stdout]      |
[INFO] [stdout] 3471 |         std::env::set_var("AUSH_MAX_SUBST_OUTPUT", "1KB");
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]      |
[INFO] [stdout] 3471 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 3472 ~         unsafe { std::env::set_var("AUSH_MAX_SUBST_OUTPUT", "1KB") };
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            `e` calls a custom destructor
[INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/executor/mod.rs:3473:9
[INFO] [stdout]      |
[INFO] [stdout] 3473 |         std::env::remove_var("AUSH_MAX_SUBST_OUTPUT");
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]      |
[INFO] [stdout] 3473 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 3474 ~         unsafe { std::env::remove_var("AUSH_MAX_SUBST_OUTPUT") };
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/mod.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |             env::set_var("PATH", &value);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 173 +             // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 174 ~             unsafe { env::set_var("PATH", &value) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/mod.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         env::set_var(key, value);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]     |
[INFO] [stdout] 388 +         // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 389 ~         unsafe { env::set_var(key, value) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            423 |                 if let Err(e) = remove_empty_dir(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/completion/mod.rs:283:12
[INFO] [stdout]      |
[INFO] [stdout]  283 |         if let Ok(repo) = git2::Repository::discover(cwd) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^-------------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/git2-0.20.4/src/repo.rs:3382:1
[INFO] [stdout]      |
[INFO] [stdout] 3382 | impl Drop for Repository {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/completion/mod.rs:295:9
[INFO] [stdout]      |
[INFO] [stdout]  295 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout]  283 ~         match git2::Repository::discover(cwd) { Ok(repo) => {
[INFO] [stdout]  284 |             let mut branches = Vec::new();
[INFO] [stdout]  ...
[INFO] [stdout]  294 |             branches
[INFO] [stdout]  295 ~         } _ => {
[INFO] [stdout]  296 |             Vec::new()
[INFO] [stdout]  297 ~         }}
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            -
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/daemon/server.rs:702:52
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let stats_needing_update: Vec<String> = if let Ok(cache) = stats_cache.lock() {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^------------------
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/daemon/server.rs:704:9
[INFO] [stdout]     |
[INFO] [stdout] 704 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 702 ~         let stats_needing_update: Vec<String> = match stats_cache.lock() { Ok(cache) => {
[INFO] [stdout] 703 |             cache.get_stats_needing_update()
[INFO] [stdout] 704 ~         } _ => {
[INFO] [stdout] 705 |             return;
[INFO] [stdout] 706 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            436 |             if let Err(e) = remove_file(path, runtime, opts.verbose, &mut stdout_output) {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        |    |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            440 |         }
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#3` invokes this custom destructor
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos, Debug, Clone, PartialEq)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/tail.rs:232:37
[INFO] [stderr]                |
[INFO] [stderr]            232 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stderr]                |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                |    |
[INFO] [stderr]                |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            236 |                 }
[INFO] [stderr]                |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/tail.rs:230:19
[INFO] [stderr]                |
[INFO] [stderr]            230 |             match File::open(file_path) {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                   |
[INFO] [stderr]                |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            231 |                 Ok(file) => {
[INFO] [stderr]            232 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stderr]                |                                -
[INFO] [stderr]                |                                |
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            242 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/tail.rs:290:37
[INFO] [stderr]                |
[INFO] [stderr]            290 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stderr]                |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                |    |
[INFO] [stderr]                |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            294 |                 }
[INFO] [stderr]                |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/builtins/tail.rs:288:19
[INFO] [stderr]                |
[INFO] [stderr]            288 |             match File::open(file_path) {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                   |
[INFO] [stderr]                |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            289 |                 Ok(file) => {
[INFO] [stderr]            290 |                     if let Err(e) = tail_file(file, file_path, &mut output, &opts.mode) {
[INFO] [stderr]                |                                -
[INFO] [stderr]                |                                |
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            300 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/completion/engine.rs:122:38
[INFO] [stderr]                |
[INFO] [stderr]            122 |                 if let Ok(entries) = fs::read_dir(path) {
[INFO] [stderr]                |                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            123 |                     for entry in entries.flatten() {
[INFO] [stderr]                |                         -----    -----------------
[INFO] [stderr]                |                         |        |
[INFO] [stderr]                |                         |        `iter` calls a custom destructor
[INFO] [stderr]                |                         |        `iter` will be dropped later as of Edition 2024
[INFO] [stderr]                |                         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                         |        `#1` will be dropped later as of Edition 2024
[INFO] [stderr]                |                         `entry` calls a custom destructor
[INFO] [stderr]                |                         `entry` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            146 |             }
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]            note: `iter` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]            note: `entry` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/completion/mod.rs:283:15
[INFO] [stderr]                 |
[INFO] [stderr]             280 |         let runtime = self.runtime.read().unwrap();
[INFO] [stderr]                 |             -------
[INFO] [stderr]                 |             |
[INFO] [stderr]                 |             `runtime` calls a custom destructor
[INFO] [stderr]                 |             `runtime` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             283 |         match git2::Repository::discover(cwd) { Ok(repo) => {
[INFO] [stderr]                 |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |               |
[INFO] [stderr]                 |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             298 |     }
[INFO] [stderr]                 |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/git2-0.20.4/src/repo.rs:3382:1
[INFO] [stderr]                 |
[INFO] [stderr]            3382 | impl Drop for Repository {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `runtime` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/correction/mod.rs:196:42
[INFO] [stderr]                |
[INFO] [stderr]            196 |                     if let Ok(entries) = fs::read_dir(path_dir) {
[INFO] [stderr]                |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            197 |                         for entry in entries.flatten() {
[INFO] [stderr]                |                             -----    -----------------
[INFO] [stderr]                |                             |        |
[INFO] [stderr]                |                             |        `iter` calls a custom destructor
[INFO] [stderr]                |                             |        `iter` will be dropped later as of Edition 2024
[INFO] [stderr]                |                             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                             |        `#1` will be dropped later as of Edition 2024
[INFO] [stderr]                |                             `entry` calls a custom destructor
[INFO] [stderr]                |                             `entry` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            212 |                 }
[INFO] [stderr]                |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]            note: `iter` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]            note: `entry` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/daemon/server.rs:593:41
[INFO] [stderr]                |
[INFO] [stderr]            580 |                     Ok((stream, _addr)) => {
[INFO] [stderr]                |                         ------
[INFO] [stderr]                |                         |
[INFO] [stderr]                |                         `stream` calls a custom destructor
[INFO] [stderr]                |                         `stream` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            588 |                                 Self::send_error(&stream, "Maximum concurrent sessions reached", 0);
[INFO] [stderr]                |                                 -------------------------------------------------------------------
[INFO] [stderr]                |                                 |
[INFO] [stderr]                |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            593 |                         if let Err(e) = self.accept_connection(stream) {
[INFO] [stderr]                |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                                    |    |
[INFO] [stderr]                |                                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                                    `e` calls a custom destructor
[INFO] [stderr]                |                                    `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            596 |                     }
[INFO] [stderr]                |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `stream` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/daemon/server.rs:579:23
[INFO] [stderr]                |
[INFO] [stderr]            579 |                 match listener.accept() {
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |
[INFO] [stderr]                |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            580 |                     Ok((stream, _addr)) => {
[INFO] [stderr]                |                         ------
[INFO] [stderr]                |                         |
[INFO] [stderr]                |                         `stream` calls a custom destructor
[INFO] [stderr]                |                         `stream` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            588 |                                 Self::send_error(&stream, "Maximum concurrent sessions reached", 0);
[INFO] [stderr]                |                                 -------------------------------------------------------------------
[INFO] [stderr]                |                                 |
[INFO] [stderr]                |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            593 |                         if let Err(e) = self.accept_connection(stream) {
[INFO] [stderr]                |                                    -
[INFO] [stderr]                |                                    |
[INFO] [stderr]                |                                    `e` calls a custom destructor
[INFO] [stderr]                |                                    `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            609 |             }
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stderr]            note: `stream` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/daemon/server.rs:1111:29
[INFO] [stderr]                 |
[INFO] [stderr]            1111 |             if let Err(e) = self.check_worker_health(session_id) {
[INFO] [stderr]                 |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |                        |    |
[INFO] [stderr]                 |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |                        |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                 |                        `e` calls a custom destructor
[INFO] [stderr]                 |                        `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1114 |         }
[INFO] [stderr]                 |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/daemon/worker_pool.rs:113:27
[INFO] [stderr]                |
[INFO] [stderr]            108 |                     if let Err(e) = executor.reset() {
[INFO] [stderr]                |                                -    ----------------
[INFO] [stderr]                |                                |    |
[INFO] [stderr]                |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                |    `#1` will be dropped later as of Edition 2024
[INFO] [stderr]                |                                `e` calls a custom destructor
[INFO] [stderr]                |                                `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            113 |                     match Self::execute_session_with_executor(&init, &mut executor) {
[INFO] [stderr]                |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                           |
[INFO] [stderr]                |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stderr]                |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            133 |                         Err(e) => {
[INFO] [stderr]                |                             -
[INFO] [stderr]                |                             |
[INFO] [stderr]                |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                             `#2` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            155 |                 }
[INFO] [stderr]                |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#3` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/daemon/worker_pool.rs:308:19
[INFO] [stderr]                |
[INFO] [stderr]            308 |             match Worker::spawn() {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^
[INFO] [stderr]                |                   |
[INFO] [stderr]                |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            313 |                 Err(e) => {
[INFO] [stderr]                |                     -
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     `e` calls a custom destructor
[INFO] [stderr]                |                     `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            318 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/executor/commands.rs:1104:19
[INFO] [stderr]                 |
[INFO] [stderr]            1104 |             match self.execute_statement(statement) {
[INFO] [stderr]                 |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |                   |
[INFO] [stderr]                 |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1110 |                 Err(e) => {
[INFO] [stderr]                 |                     -
[INFO] [stderr]                 |                     |
[INFO] [stderr]                 |                     `e` calls a custom destructor
[INFO] [stderr]                 |                     `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1126 |         }
[INFO] [stderr]                 |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/executor/control_flow.rs:161:19
[INFO] [stderr]                |
[INFO] [stderr]            161 |               match self.execute_statement(statement.clone()) {
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            168 |                       return match handle_loop_signal(
[INFO] [stderr]                |  __________________________________-
[INFO] [stderr]            169 | |                         e,
[INFO] [stderr]            170 | |                         accumulated_stdout,
[INFO] [stderr]            171 | |                         accumulated_stderr,
[INFO] [stderr]            172 | |                         *last_exit_code,
[INFO] [stderr]            173 | |                     ) {
[INFO] [stderr]                | |                     -
[INFO] [stderr]                | |                     |
[INFO] [stderr]                | |_____________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            179 |           }
[INFO] [stderr]                |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/executor/pipeline.rs:335:11
[INFO] [stderr]                |
[INFO] [stderr]            321 |     let mut child_executor = Executor {
[INFO] [stderr]                |         ------------------
[INFO] [stderr]                |         |
[INFO] [stderr]                |         `child_executor` calls a custom destructor
[INFO] [stderr]                |         `child_executor` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            335 |     match child_executor.execute(vec![statement.clone()]) {
[INFO] [stderr]                |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |           |
[INFO] [stderr]                |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            349 | }
[INFO] [stderr]                | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `child_executor` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stderr]                |
[INFO] [stderr]            137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `child_executor` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stderr]                |
[INFO] [stderr]            137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/executor/pipeline.rs:390:11
[INFO] [stderr]                |
[INFO] [stderr]            376 |     let mut child_executor = Executor {
[INFO] [stderr]                |         ------------------
[INFO] [stderr]                |         |
[INFO] [stderr]                |         `child_executor` calls a custom destructor
[INFO] [stderr]                |         `child_executor` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            390 |     match child_executor.execute(statements.to_vec()) {
[INFO] [stderr]                |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |           |
[INFO] [stderr]                |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            404 | }
[INFO] [stderr]                | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `child_executor` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stderr]                |
[INFO] [stderr]            137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `child_executor` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thread_local-1.1.9/src/lib.rs:137:1
[INFO] [stderr]                |
[INFO] [stderr]            137 | impl<T: Send> Drop for ThreadLocal<T> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/executor/mod.rs:1018:19
[INFO] [stderr]                 |
[INFO] [stderr]            1017 |         for handle in handles {
[INFO] [stderr]                 |                       -------
[INFO] [stderr]                 |                       |
[INFO] [stderr]                 |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |                       `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            1018 |             match handle.join() {
[INFO] [stderr]                 |                   ^^^^^^^^^^^^^
[INFO] [stderr]                 |                   |
[INFO] [stderr]                 |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                 |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1024 |                 Ok(Err(e)) => {
[INFO] [stderr]                 |                        -
[INFO] [stderr]                 |                        |
[INFO] [stderr]                 |                        `e` calls a custom destructor
[INFO] [stderr]                 |                        `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1033 |         }
[INFO] [stderr]                 |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/executor/mod.rs:1555:31
[INFO] [stderr]                 |
[INFO] [stderr]            1546 |             let resolved = self.resolve_argument(arg)?;
[INFO] [stderr]                 |                            ---------------------------
[INFO] [stderr]                 |                            |
[INFO] [stderr]                 |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |                            `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1555 |                         match glob_expansion::expand_globs(field, self.runtime.get_cwd()) {
[INFO] [stderr]                 |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |                               |
[INFO] [stderr]                 |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                 |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1564 |                     } else {
[INFO] [stderr]                 |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/executor/mod.rs:1572:27
[INFO] [stderr]                 |
[INFO] [stderr]            1546 |             let resolved = self.resolve_argument(arg)?;
[INFO] [stderr]                 |                            ---------------------------
[INFO] [stderr]                 |                            |
[INFO] [stderr]                 |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |                            `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1572 |                     match glob_expansion::expand_globs(&resolved, self.runtime.get_cwd()) {
[INFO] [stderr]                 |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |                           |
[INFO] [stderr]                 |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                 |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            1581 |                 } else {
[INFO] [stderr]                 |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                 |
[INFO] [stderr]             773 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 316 previous errors; 28 warnings emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `aush`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs
[INFO] [stderr]  ::: src/ai/agent.rs
[INFO] [stderr]  ::: src/builtins/eval.rs
[INFO] [stderr]  ::: src/builtins/json.rs
[INFO] [stderr]  ::: src/builtins/kill.rs
[INFO] [stderr]  ::: src/builtins/ls.rs
[INFO] [stderr]  ::: src/builtins/mod.rs
[INFO] [stderr]  ::: src/builtins/profile.rs
[INFO] [stderr]  ::: src/builtins/read.rs
[INFO] [stderr]  ::: src/builtins/rm.rs
[INFO] [stderr]  ::: src/builtins/tail.rs
[INFO] [stderr]  ::: src/builtins/time.rs
[INFO] [stderr]  ::: src/compat/analyzer.rs
[INFO] [stderr]  ::: src/completion/engine.rs
[INFO] [stderr]  ::: src/completion/mod.rs
[INFO] [stderr]  ::: src/correction/mod.rs
[INFO] [stderr]  ::: src/daemon/server.rs
[INFO] [stderr]  ::: src/daemon/worker_pool.rs
[INFO] [stderr]  ::: src/executor/commands.rs
[INFO] [stderr]  ::: src/executor/control_flow.rs
[INFO] [stderr]  ::: src/executor/mod.rs
[INFO] [stderr]  ::: src/executor/pipeline.rs
[INFO] [stderr]  ::: src/lexer/mod.rs
[INFO] [stderr]  ::: src/parser/mod.rs
[INFO] [stderr]  ::: src/run_api.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lexer/mod.rs:3:16
[INFO] [stderr]              |
[INFO] [stderr]            3 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/lexer/mod.rs:4:3
[INFO] [stderr]              |
[INFO] [stderr]            4 | #[logos(skip r"[ \t]+|\\\r?\n")]
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            5 + #[derive(Logos)]
[INFO] [stderr]            6 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]             --> src/lexer/mod.rs:7:7
[INFO] [stderr]              |
[INFO] [stderr]            7 |     #[token("let")]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            5 + #[derive(Logos)]
[INFO] [stderr]            6 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:10:7
[INFO] [stderr]               |
[INFO] [stderr]            10 |     #[token("if")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token("else")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:16:7
[INFO] [stderr]               |
[INFO] [stderr]            16 |     #[token("then")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:19:7
[INFO] [stderr]               |
[INFO] [stderr]            19 |     #[token("elif")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:22:7
[INFO] [stderr]               |
[INFO] [stderr]            22 |     #[token("fi")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token("fn")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:28:7
[INFO] [stderr]               |
[INFO] [stderr]            28 |     #[token("match")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token("for")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("in")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("while")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("do")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("done")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("until")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("function")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token("case")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token("esac")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:59:7
[INFO] [stderr]               |
[INFO] [stderr]            59 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:62:7
[INFO] [stderr]               |
[INFO] [stderr]            62 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token(">=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:71:7
[INFO] [stderr]               |
[INFO] [stderr]            71 |     #[token("<=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:77:7
[INFO] [stderr]               |
[INFO] [stderr]            77 |     #[token("|||")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:80:7
[INFO] [stderr]               |
[INFO] [stderr]            80 |     #[token("|?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:83:7
[INFO] [stderr]               |
[INFO] [stderr]            83 |     #[token("|")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("&&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:89:7
[INFO] [stderr]               |
[INFO] [stderr]            89 |     #[token("&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("||")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:95:7
[INFO] [stderr]               |
[INFO] [stderr]            95 |     #[token("!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/mod.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             5 + #[derive(Logos)]
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:101:7
[INFO] [stderr]                |
[INFO] [stderr]            101 |     #[token(")")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:104:7
[INFO] [stderr]                |
[INFO] [stderr]            104 |     #[token("{")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:107:7
[INFO] [stderr]                |
[INFO] [stderr]            107 |     #[token("}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("[[", priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:113:7
[INFO] [stderr]                |
[INFO] [stderr]            113 |     #[token("]]", priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:116:7
[INFO] [stderr]                |
[INFO] [stderr]            116 |     #[token("[", priority = 10)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:119:7
[INFO] [stderr]                |
[INFO] [stderr]            119 |     #[token("]", priority = 10)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:122:7
[INFO] [stderr]                |
[INFO] [stderr]            122 |     #[token(";;")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:125:7
[INFO] [stderr]                |
[INFO] [stderr]            125 |     #[token(";")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token(":")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:131:7
[INFO] [stderr]                |
[INFO] [stderr]            131 |     #[token(",")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:134:7
[INFO] [stderr]                |
[INFO] [stderr]            134 |     #[token(".")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:137:7
[INFO] [stderr]                |
[INFO] [stderr]            137 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:140:7
[INFO] [stderr]                |
[INFO] [stderr]            140 |     #[token("=>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[regex(r#"""#, parse_double_quoted_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:147:7
[INFO] [stderr]                |
[INFO] [stderr]            147 |     #[regex(r"'", parse_single_quoted_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:151:7
[INFO] [stderr]                |
[INFO] [stderr]            151 |     #[regex(r"\$'([^'\\]|\\.)*'", parse_ansi_c_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:155:7
[INFO] [stderr]                |
[INFO] [stderr]            155 |     #[regex(r"-?[0-9]+", priority = 3, callback = |lex| lex.slice().parse().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:158:7
[INFO] [stderr]                |
[INFO] [stderr]            158 |     #[regex(r"-?[0-9]+\.[0-9]+", priority = 4, callback = |lex| lex.slice().parse().ok())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:163:7
[INFO] [stderr]                |
[INFO] [stderr]            163 |     #[regex(r"[a-zA-Z0-9_.\-/]*[*?][a-zA-Z0-9_.*?\-/\[\]]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:166:7
[INFO] [stderr]                |
[INFO] [stderr]            166 |     #[regex(r"[a-zA-Z0-9_.\-/]+\[[^\]]+\][a-zA-Z0-9_.*?\-/]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:173:7
[INFO] [stderr]                |
[INFO] [stderr]            173 |     #[token("-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:177:7
[INFO] [stderr]                |
[INFO] [stderr]            177 |     #[token("--")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:180:7
[INFO] [stderr]                |
[INFO] [stderr]            180 |     #[regex(r"-[a-zA-Z0-9]+", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:183:7
[INFO] [stderr]                |
[INFO] [stderr]            183 |     #[regex(r"--[a-zA-Z0-9][a-zA-Z0-9-]*(=[^\s|;&()<>]+)?", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:187:7
[INFO] [stderr]                |
[INFO] [stderr]            187 |     #[regex(r"\+[a-zA-Z0-9]+", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:190:7
[INFO] [stderr]                |
[INFO] [stderr]            190 |     #[regex(r">\([^)]*\)", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:193:7
[INFO] [stderr]                |
[INFO] [stderr]            193 |     #[regex(r"<[[:space:]]*<\([^)]*\)", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:194:7
[INFO] [stderr]                |
[INFO] [stderr]            194 |     #[regex(r"<\([^)]*\)", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:197:7
[INFO] [stderr]                |
[INFO] [stderr]            197 |     #[regex(r"<[[:space:]]+[^<(][^|;&()<>[:space:]]*", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:215:7
[INFO] [stderr]                |
[INFO] [stderr]            215 |     #[regex(r"[a-zA-Z0-9_@+%^][a-zA-Z0-9_.\-:~@/+%^,#]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:219:7
[INFO] [stderr]                |
[INFO] [stderr]            219 |     #[regex(r"\$\(", parse_command_substitution)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:223:7
[INFO] [stderr]                |
[INFO] [stderr]            223 |     #[regex(r"`", parse_backtick_substitution)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:228:7
[INFO] [stderr]                |
[INFO] [stderr]            228 |     #[regex(r"\$\{[^}\n]+\}", |lex| lex.slice().to_string(), priority = 20)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:233:7
[INFO] [stderr]                |
[INFO] [stderr]            233 |     #[regex(r"\$[?!$#@*\-_0-9]", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:238:7
[INFO] [stderr]                |
[INFO] [stderr]            238 |     #[regex(r"\$[a-zA-Z][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:242:7
[INFO] [stderr]                |
[INFO] [stderr]            242 |     #[token("~")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:246:7
[INFO] [stderr]                |
[INFO] [stderr]            246 |     #[regex(r"[.~/][^\s|;&(){}]+", |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:250:7
[INFO] [stderr]                |
[INFO] [stderr]            250 |     #[token(">>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:253:7
[INFO] [stderr]                |
[INFO] [stderr]            253 |     #[regex(r"[0-9]+>[&]-", |lex| lex.slice().to_string(), priority = 9)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:256:7
[INFO] [stderr]                |
[INFO] [stderr]            256 |     #[regex(r"[0-9]+<[&]-", |lex| lex.slice().to_string(), priority = 9)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:259:7
[INFO] [stderr]                |
[INFO] [stderr]            259 |     #[token(">&-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:262:7
[INFO] [stderr]                |
[INFO] [stderr]            262 |     #[token("<>")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:265:7
[INFO] [stderr]                |
[INFO] [stderr]            265 |     #[regex(r"[0-9]*<&[0-9]+", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:268:7
[INFO] [stderr]                |
[INFO] [stderr]            268 |     #[regex(r"[0-9]+<", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:271:7
[INFO] [stderr]                |
[INFO] [stderr]            271 |     #[regex(r"[0-9]+>&[0-9]+", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:274:7
[INFO] [stderr]                |
[INFO] [stderr]            274 |     #[regex(r"[0-9]+>&", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:277:7
[INFO] [stderr]                |
[INFO] [stderr]            277 |     #[regex(r"[0-9]+>", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:280:7
[INFO] [stderr]                |
[INFO] [stderr]            280 |     #[token("2>&1", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:283:7
[INFO] [stderr]                |
[INFO] [stderr]            283 |     #[token("1>&2", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:284:7
[INFO] [stderr]                |
[INFO] [stderr]            284 |     #[token(">&2", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:287:7
[INFO] [stderr]                |
[INFO] [stderr]            287 |     #[regex(r">&[0-9]+", |lex| lex.slice().to_string(), priority = 4)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/mod.rs:290:7
[INFO] [stderr]                |
[INFO] [stderr]            290 |     #[token("2>", priority = 8)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              5 + #[derive(Logos)]
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[WARN] too many lines in the log, truncating it
